본문 바로가기
프로그램/C++ 1000제

C++ 62제] vector 사용, 문제와 같이 영문자 마름모를 출력하시오.

by 건티 2022. 7. 8.
728x90

출처 : 반크_세계유산 창덕궁

 

문제]

    A    
  B A B  
C B A B C
  B A B  
    A    

조건)

▶ 외부변수를 활용하시오.

▶ 함수를 상용하시오.

 

참고풀이]

#include <iostream> 
#include <vector>
#include <iomanip> //setw()
using namespace std;

char ch='D';
//더블 vector 선언하고 초기값으로 ' '를 설정한다. 
vector<vector<char> > v(5,vector<char>(5,' '));

void Diamond(int start, int end, int col)
{
   int i;

   if(col<3) ch--; else ch++;
   for(i=start;i<=end;i++)
      v[i][col]=ch;
}

int main()
{
   int r,c;//행열변수
   int r_start, r_end;//행 시작,끝 변수 

   //vector에 값을 넣는다.
   r_start=3;r_end=1;
   for(c=0;c<5;c++)
   {
      if(c<3){ r_start--; r_end++;}
      else { r_start++; r_end--;}
      Diamond(r_start, r_end, c);
   }

   //결과 출력
   for(r=0;r<5;r++) 
   {
      for(c=0;c<v[r].size();c++)
         cout << setw(2) << v[r][c];
      cout << endl;
   }

   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 봄

 

반응형

댓글