|
컴초보 님이 쓰신 글 :
: 볼랜드 C 에서..
:
: N 과 M 을 받아서..
:
: N = 1
: M = 5
:
: 출력이..
:
: 1 2 3 4 5
: 5 1 2 3 4
: 4 5 1 2 3
: 3 4 5 1 2
: 2 3 4 5 1
:
: 이렇게 될려면 어떻게 해야 하죠?
물론 STL을 사용한 코드입니다.
//---------------------------------------------------------------------------
#include <iostream>
#pragma hdrstop
#include <vector>
#include <algorithm>
#include <numeric>
#include <iterator>
//---------------------------------------------------------------------------
using namespace std;
int main()
{
int N, M;
cout << "N = "; cin >> N;
cout << "M = "; cin >> M;
vector<int> series(M);
iota(series.begin(), series.end(), N);
ostream_iterator<int> out(cout, " ");
copy(series.begin(), series.end(), out);
cout.put('\n');
for (int i = 1; i < M; ++i) {
rotate_copy(series.begin(), series.end() - i, series.end(), out);
cout.put('\n');
}
return 0;
}
//---------------------------------------------------------------------------
|