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

C++ 39제] vector 사용, 문제와 같은 숫자 마름모를 출려하시오.

by 건티 2022. 6. 8.
728x90

출처 : 반크_세계유산 고인돌

 

문제]

    1    
  3 5 7  
9 11 13 15 17
  19 21 23  
    25    

 

참고풀이]

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

int main()
{
   vector< vector<int> > vr(5); //행수 선언 
   int r,c;
   int space;
   int cnt;
   int n;

   //vector에 ' ' 과 '*'를 넣는다.
   space=3;
   n=cnt=-1;
   for(r=0;r<5;r++)
   {
      if(r<3) { space--; cnt+=2;}
      else { space++; cnt-=2;}

      //0을 넣는다.
      for(c=0;c<space;c++)
         vr[r].push_back(0);
 
      //증가값을 넣는다. 
      for(c=0;c<cnt;c++)
         vr[r].push_back(n+=2);
   }

   //vector를 출력한다. 
   for(r=0;r<5;r++)
   {
      for(c=0;c<vr[r].size();c++)
         if(vr[r][c]==0) cout << setw(3) << ' ';
         else cout << setw(3) << vr[r][c];
      cout << endl;
   }

   return 0;
}

 

참고풀이 결과]

 

 

 

 

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

 

반응형

댓글