fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. // 必要があれば変数などを追加してもOKです
  5.  
  6. int main(){
  7. int i, j, k;
  8. int a, b;
  9. int **mat;
  10.  
  11. // 行数と列数を入力
  12. scanf("%d %d", &a, &b);
  13.  
  14. // ここで2次元配列の動的確保をする
  15. mat = (int **)malloc(a * sizeof(int *)); // 行のメモリを確保
  16. for (i = 0; i < a; i++) {
  17. mat[i] = (int *)malloc(b * sizeof(int)); // 各行に列のメモリを確保
  18. }
  19.  
  20. // ここで2次元配列に数値を代入する
  21. k = 1; // 自然数の初期値
  22. for (i = 0; i < a; i++) {
  23. for (j = 0; j < b; j++) {
  24. mat[i][j] = k++;
  25. }
  26. }
  27.  
  28. // 以下の部分は表示の部分です
  29. // いじらなくてOK
  30. for (i = 0; i < a; i++) {
  31. for (j = 0; j < b; j++) {
  32. printf("%d ", mat[i][j]);
  33. }
  34. printf("\n");
  35. }
  36.  
  37. // 最後に忘れずにすることと言えば?
  38. // 動的に確保したメモリを解放
  39. for (i = 0; i < a; i++) {
  40. free(mat[i]);
  41. }
  42. free(mat);
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0s 5280KB
stdin
4 3
stdout
1 2 3 
4 5 6 
7 8 9 
10 11 12