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