C言語学習ノート:18_配列→2 D配列
2759 ワード
/*
* 18_ - .c
*
* Created on: 2015 7 6
* Author: zhong
*/
#include
#include
/**
* :
* ;
* : 2 , 5 。
* int ages[5]={18,19,20,18,19};
* int classes[2]={ages,ages};
* , c , 。
*
* int classes[2][50]={{18,19,20,18,19},{18,19,20,18,19}};
* , 。
*
* :
* float a[3][4]; //3 ,4 3X4
* c , ,
* 。
*
* :
* int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};//
* int a[3][4] ={{1},{1},{1}}; // , 0
* 1 0 0 0
* 1 0 0 0
* 1 0 0 0
* int a[3][4]={{1},{1,2},{1,2,3}}; //
* 1 0 0 0
* 1 2 0 0
* 1 2 3 0
*
* int a[][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};// , , 2 。
* int a[][4]={{1,2,3,4},{ },{}};//
*
* , 1 , 2
* , , 。
* , , , 。 。
*
* :
* [ ][ ];
* int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
* a[0][0]; // 1
* a[0][3] // 4 4
* a[1][0] // 1 5
* // , , -1。 , ,
*
*/
/**
* ,
* a={{1,2,3},{4,5,6}}; --> b={{1,4},{2,5},{3,6}};
*/
void swap_row_column() {
int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };
int b[3][2], i, j;
printf("
");
for (i = 0; i < 2; i++) { //i < 2; 2 a[2][3]
for (j = 0; j < 3; j++) {
printf("%5d", a[i][j]); // a
b[j][i] = a[i][j]; // a b a[0][2] -->b[2][0]
}
printf("
");
}
printf("
");
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("%5d", b[i][j]); // b
}
printf("
");
}
/*
* output:
1 2 3
4 5 6
1 4
2 5
3 6
*/
}
// , , ,
void array_max_() {
int a[3][4] = { { 64, 76, 32, 12 }, { 45, 32, 1, 4 }, { 78, 3, 323, 5 } }; //
int i, j; //c ,for 。 b,
int row = 0, colum = 0; //
int max = a[0][0]; // max ,
for (i = 0; i < 3; i++) { // a[3][4] [3],
for (j = 0; j < 4; j++) { // n n
if (a[i][j] > max) {
max = a[i][j]; // ,
row=i;
colum=j;
}
}
}
printf(" :%d, (%d,%d)
",max,row,colum);
//output: :323, (2,2)
}
int main18() {
// swap_row_column();
array_max_();
return 0;
}