Nếu bạn khai báo mảng như sau
//Khai báo ma trận int matrix[4*4];//Ma trận có 16 phần tử |
Bạn cũng lưu ý rằng, việc chuyển đổi chỉ số qua lại giữa mảng nhiều chiều và mảng giả nhiều chiều là hoàn toàn có thể thực hiện được. Ví dụ sau đây sẽ in ra giá trị của các phần tử theo dạng ma trận bằng cách sử dụng khai báo mảng hai chiều và mảng giả hai chiều.
Mảng hai chiều | Mảng giả hai chiều |
int matrix[4][4]; //Nhập mảng for(int i=0; i<4; i++) for(int j=0;j<4;j++) matrix[i][j]=i+j; //In giá trị mảng for(int i=0; i<4; i++){ for(int j=0;j<4;j++) cout< cout< } | int matrix[4*4]; //Nhập mảng for(int i=0; i<4; i++) for(int j=0;j<4;j++) matrix[i*4+j]=i+j; //In giá trị mảng for(int i=0;i<4;i++){ for(int j=0; j<4;j++) cout< cout< } |
- Trong trường hợp mảng một chiều, ta có thể không cần khai báo kích thước của mảng (ví dụ type tên_hàm(int args[])).
- Trong trường hợp mảng nhiều chiều, thì chỉ có số phần tử trong chiều thứ nhất là có thể không cần khai báo, còn các chiều còn lại, nhất thiết phải khai báo (ví dụ type tên_hàm(int args[][10][10])).
- Mảng được truyền theo tham biến.
Bài tập 8.
Phần tử lớn nhất của dòng 2: 3 Phần tử nhỏ nhất của dòng 1: 1 Phần tử nhỏ nhất của dòng 2: 2 Phần tử 1×1 là lẻ, nên nó bằng 1-1=0, và đây chính là phần tử 1×1 trong ma trận mới. Tương tự cho các phần tử còn lại. Ma trận mới thu được là
|
No comments:
Post a Comment