#include <stdio.h>
#include <stdlib.h>
//必要があれば変数などを追加してもOKです
int main(){
int i,j,k;
int a,b;
int **mat;
//ここで2次元配列の動的確保をする
mat
= (int **)malloc(sizeof(int *) * a
); for(i=0; i<a; i++){
mat
[i
] = (int *)malloc(sizeof(int) * b
); }
//ここで2次元配列に数値を代入する
k = 1;
for(i=0; i<a; i++){
for(j=0; j<b; j++){
mat[i][j] = k;
k++;
}
}
//以下の部分は表示の部分です
//いじらなくてOK
for(i=0;i<a;i++){
for(j=0;j<b;j++){
}
}
//さて,最後に忘れずにすることと言えば?
// メモリの解放(free)
for(i=0; i<a; i++){
free(mat
[i
]); // まず各行の領域を解放 }
free(mat
); // 最後に大元のポインタ配列を解放
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8v5b+F6KaB44GM44GC44KM44Gw5aSJ5pWw44Gq44Gp44KS6L+95Yqg44GX44Gm44KCT0vjgafjgZkKCmludCBtYWluKCl7CiAgICBpbnQgaSxqLGs7CiAgICBpbnQgYSxiOwogICAgaW50ICoqbWF0OwogICAgc2NhbmYoIiVkICVkIiwmYSwmYik7CgogICAgLy/jgZPjgZPjgacy5qyh5YWD6YWN5YiX44Gu5YuV55qE56K65L+d44KS44GZ44KLCiAgICBtYXQgPSAoaW50ICoqKW1hbGxvYyhzaXplb2YoaW50ICopICogYSk7CiAgICBmb3IoaT0wOyBpPGE7IGkrKyl7CiAgICAgICAgbWF0W2ldID0gKGludCAqKW1hbGxvYyhzaXplb2YoaW50KSAqIGIpOwogICAgfQogICAgCiAgICAvL+OBk+OBk+OBpzLmrKHlhYPphY3liJfjgavmlbDlgKTjgpLku6PlhaXjgZnjgosKICAgIGsgPSAxOyAKICAgIGZvcihpPTA7IGk8YTsgaSsrKXsKICAgICAgICBmb3Ioaj0wOyBqPGI7IGorKyl7CiAgICAgICAgICAgIG1hdFtpXVtqXSA9IGs7CiAgICAgICAgICAgIGsrKzsgCiAgICAgICAgfQogICAgfQogICAgCiAgICAvL+S7peS4i+OBrumDqOWIhuOBr+ihqOekuuOBrumDqOWIhuOBp+OBmQogICAgLy/jgYTjgZjjgonjgarjgY/jgaZPSwogICAgZm9yKGk9MDtpPGE7aSsrKXsKICAgICAgICBmb3Ioaj0wO2o8YjtqKyspewogICAgICAgICAgICBwcmludGYoIiVkICIsbWF0W2ldW2pdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgCiAgICAvL+OBleOBpu+8jOacgOW+jOOBq+W/mOOCjOOBmuOBq+OBmeOCi+OBk+OBqOOBqOiogOOBiOOBsO+8nwogICAgLy8g44Oh44Oi44Oq44Gu6Kej5pS+KGZyZWUpCiAgICBmb3IoaT0wOyBpPGE7IGkrKyl7CiAgICAgICAgZnJlZShtYXRbaV0pOyAvLyDjgb7jgZrlkITooYzjga7poJjln5/jgpLop6PmlL4KICAgIH0KICAgIGZyZWUobWF0KTsgLy8g5pyA5b6M44Gr5aSn5YWD44Gu44Od44Kk44Oz44K/6YWN5YiX44KS6Kej5pS+CgogICAgcmV0dXJuIDA7Cn0=