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

C++ 64제] vector 사용, 문제와 같은 문자열을 출력하시오.

by 건티 2022. 7. 13.
728x90

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

 

문제]

A B C D E
J I H G F
K L M N O
O N M L K
F G H I J
E D C B A

조건)

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

 

참고풀이]

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

char n='A'-1;
vector<char> RiYul(int start, int end, int augmenter, int sw)
{
   vector<char> vc(5,' ');
   int i;

   i=start;
   while(true)
   {
      i+=augmenter;
      vc[i]=n+=sw;
      if(i==end) break;
   }
   return vc;
}

int main()
{
   vector<vector<char> > v(6);
   int r,c;//행열변수

   //vector에 값을 넣는다.
   for(r=0;r<6;r++)
   {
      if(r==3) n++;
      if(r<3)
         if(r%2) v[r]=RiYul(5,0,-1,1); 
         else v[r]=RiYul(-1,4,1,1);
      else
         if(r%2) v[r]=RiYul(-1,4,1,-1);
         else v[r]=RiYul(5,0,-1,-1); 
   }

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

   return 0;
}

 

참고풀이 결과]

 

 

 

 

 

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

 

반응형

댓글