#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
);
// 2. 各行に対して列方向のメモリを確保
for(i = 0; i < a; i++){
mat
[i
] = (int *)malloc(sizeof(int) * b
);}
// 3. 値の代入と表示
int count = 1;
for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
mat[i][j] = count++;
}
}
// 4. 後始末(free)
for(i
= 0; i
< a
; i
++) free(mat
[i
]);
//以下の部分は表示の部分です
//いじらなくてOK
for(i=0;i<a;i++){
for(j=0;j<b;j++){
}
}
//さて,最後に忘れずにすることと言えば?
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8v5b+F6KaB44GM44GC44KM44Gw5aSJ5pWw44Gq44Gp44KS6L+95Yqg44GX44Gm44KCT0vjgafjgZkKCmludCBtYWluKCl7CiAgICBpbnQgaSxqLGs7CiAgICBpbnQgYSxiOwogICAgaW50ICoqbWF0OwogICAgc2NhbmYoIiVkICVkIiwmYSwmYik7CgoJLy/jgZPjgZPjgacy5qyh5YWD6YWN5YiX44Gu5YuV55qE56K65L+d44KS44GZ44KLCm1hdCA9IChpbnQgKiopbWFsbG9jKHNpemVvZihpbnQgKikgKiBhKTsKCi8vIDIuIOWQhOihjOOBq+WvvuOBl+OBpuWIl+aWueWQkeOBruODoeODouODquOCkueiuuS/nQpmb3IoaSA9IDA7IGkgPCBhOyBpKyspewogICAgbWF0W2ldID0gKGludCAqKW1hbGxvYyhzaXplb2YoaW50KSAqIGIpOwp9CgovLyAzLiDlgKTjga7ku6PlhaXjgajooajnpLoKaW50IGNvdW50ID0gMTsKZm9yKGkgPSAwOyBpIDwgYTsgaSsrKXsKICAgIGZvcihqID0gMDsgaiA8IGI7IGorKyl7CiAgICAgICAgbWF0W2ldW2pdID0gY291bnQrKzsKICAgICAgICBwcmludGYoIiVkICIsIG1hdFtpXVtqXSk7CiAgICB9CiAgICBwcmludGYoIlxuIik7Cn0KCi8vIDQuIOW+jOWni+acq++8iGZyZWXvvIkKZm9yKGkgPSAwOyBpIDwgYTsgaSsrKSBmcmVlKG1hdFtpXSk7CmZyZWUobWF0KTsKICAgIAoKICAgIAogICAgLy/ku6XkuIvjga7pg6jliIbjga/ooajnpLrjga7pg6jliIbjgafjgZkKICAgIC8v44GE44GY44KJ44Gq44GP44GmT0sKICAgIGZvcihpPTA7aTxhO2krKyl7CiAgICAgICAgZm9yKGo9MDtqPGI7aisrKXsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLG1hdFtpXVtqXSk7CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KICAgIAogICAgLy/jgZXjgabvvIzmnIDlvozjgavlv5jjgozjgZrjgavjgZnjgovjgZPjgajjgajoqIDjgYjjgbDvvJ8KCgogICAgcmV0dXJuIDA7Cn0K