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