김인구.구야 님이 쓰신 글 :
: <테스트 5>
: 아래의 그림처럼 행에
: 대한 열의 크기가 다른 배열을 동적으로 할당하는 프로그램을 작성하십시오.
: 단, 각 요소는 a[i][j]의 표현으로 액세스할 수 있어야 합니다.
: (그림을 어떻게 그려야할지... 죄성...
: 위에서부터 네모칸이 8개, 4개, 10개, 2개가 붙어있슴다...)
//---------------------------------------------------------------------------
#include <iostream>
#pragma hdrstop
#include <vector>
//---------------------------------------------------------------------------
using namespace std;
#pragma argsused
int main(int argc, char* argv[])
{
vector<int> num_columns;
num_columns.push_back(8);
num_columns.push_back(4);
num_columns.push_back(10);
num_columns.push_back(2);
int num_rows = num_columns.size();
vector< vector<int> > variable_matrix(num_rows);
for (int i = 0; i < num_rows; i++) {
variable_matrix[i].resize(num_columns[i]);
for (int j = 0; j < num_columns[i]; j++)
variable_matrix[i][j] = i * j;
}
for (int i = 0; i < num_rows; i++)
for (int j = 0; j < num_columns[i]; j++)
cout << i << " * " << j << " = " << variable_matrix[i][j] << endl;
return 0;
}
//---------------------------------------------------------------------------
후후.... 포인터와 동적 할당의 시대는 이미 지나갔고,
지금은 반복자(iterator)와 컨테이너(container)와 알고리듬(algorithm)의 시대입니다.
과거의 유물인 C를 몰아내고 C++ STL을 배웁시다. ^^;
|