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

C++ 63제] vector 사용, 문제와 같은 숫자 삼각형을 출력하시오.

by 건티 2022. 7. 8.
728x90

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

 

문제]

        1        
      2 3 2      
    3 4 5 4 3    
  4 5 6 7 6 5 4  
5 6 7 8 9 8 7 6 5

조건)

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

▶ 함수를 사용하시오.

 

참고풀이]

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

//더블 vector 선언하고 초기값으로 0을 셋팅한다. 
vector<vector<int> > v(5,vector<int>(9,0));

void Trirangle(int start, int end, int row,int n)
{
   int i;

   for(i=start;i<=end;i++)
   {
      if(i<5) n++; else n--;
      v[row][i]=n;
   }
}

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

   //vector에 값을 넣는다.
   c_start=5;c_end=3;
   for(r=0;r<5;r++)
   {
      c_start--; c_end++;
      Trirangle(c_start, c_end, r, r);
   }

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

   return 0;
}

 

참고풀이 결과]

 

 

 

 

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

 

반응형

댓글