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

C++ 45제] vector 사용, 아래와 같은 모래시계 도형을 출력하시오.

by 건티 2022. 6. 14.
728x90

출처 : 반크_세계유산 석굴암

 

문제]

A 1 2 3 A
  B 4 B  
    C    
  D 5 D  
E 6 7 8 E

 

참고풀이]

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

int main()
{
   vector<vector<char> > v(5);
   int r,c;//행열변수
   int blank;//빈칸변수
   int su;//수변수
   int ch;//영문자변수
   int sh;//문숫자변수 
   int n;//증가값변수 

   //vector에 빈칸, 영문자, 숫자 입력하기
   blank=0;
   su=5;
   ch='A'-1;
   sh='0';
   n=-1;
   for(r=0;r<5;r++)
   {
      //빈칸, 수의 개수와 영문자를 정한다.
      if(r<3) { blank++; su-=2; }
      else { blank--; su+=2; }
      ch++;

      //빈칸열
      for(c=1;c<blank;c++) v[r].push_back(' ');
      //영문자
      v[r].push_back(ch);
      //숫자열
      for(c=1;c<=su;c++) v[r].push_back(++sh);
      //영문자
      if(su>0) v[r].push_back(ch);
   }

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

   return 0;
}

 

참고풀이 결과]

 

 

 

 

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

 

반응형

댓글