#include <stdio.h>
#include <stdlib.h>
int main(){
int i, j;
int a, b;
int **mat;
// 2次元配列の動的確保
mat
= (int **)malloc(a
* sizeof(int *)); if(mat == NULL){
printf("Memory allocation failed\n"); return 1;
}
for(i = 0; i < a; i++){
mat
[i
] = (int *)malloc(b
* sizeof(int)); if(mat[i] == NULL){
printf("Memory allocation failed\n"); return 1;
}
}
// 数値を代入
int k = 1;
for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
mat[i][j] = k++;
}
}
// 表示部分(既存コード)
for(i = 0; i < a; i++){
for(j = 0; j < b; j++){
}
}
// メモリ解放
for(i = 0; i < a; i++){
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBtYWluKCl7CiAgICBpbnQgaSwgajsKICAgIGludCBhLCBiOwogICAgaW50ICoqbWF0OwogICAgc2NhbmYoIiVkICVkIiwgJmEsICZiKTsKCiAgICAvLyAy5qyh5YWD6YWN5YiX44Gu5YuV55qE56K65L+dCiAgICBtYXQgPSAoaW50ICoqKW1hbGxvYyhhICogc2l6ZW9mKGludCAqKSk7CiAgICBpZihtYXQgPT0gTlVMTCl7CiAgICAgICAgcHJpbnRmKCJNZW1vcnkgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOwogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZm9yKGkgPSAwOyBpIDwgYTsgaSsrKXsKICAgICAgICBtYXRbaV0gPSAoaW50ICopbWFsbG9jKGIgKiBzaXplb2YoaW50KSk7CiAgICAgICAgaWYobWF0W2ldID09IE5VTEwpewogICAgICAgICAgICBwcmludGYoIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgIH0KCiAgICAvLyDmlbDlgKTjgpLku6PlhaUKICAgIGludCBrID0gMTsKICAgIGZvcihpID0gMDsgaSA8IGE7IGkrKyl7CiAgICAgICAgZm9yKGogPSAwOyBqIDwgYjsgaisrKXsKICAgICAgICAgICAgbWF0W2ldW2pdID0gaysrOwogICAgICAgIH0KICAgIH0KCiAgICAvLyDooajnpLrpg6jliIbvvIjml6LlrZjjgrPjg7zjg4nvvIkKICAgIGZvcihpID0gMDsgaSA8IGE7IGkrKyl7CiAgICAgICAgZm9yKGogPSAwOyBqIDwgYjsgaisrKXsKICAgICAgICAgICAgcHJpbnRmKCIlZCAiLCBtYXRbaV1bal0pOwogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CgogICAgLy8g44Oh44Oi44Oq6Kej5pS+CiAgICBmb3IoaSA9IDA7IGkgPCBhOyBpKyspewogICAgICAgIGZyZWUobWF0W2ldKTsKICAgIH0KICAgIGZyZWUobWF0KTsKCiAgICByZXR1cm4gMDsKfQ==