fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5. int a, b;
  6.  
  7. // 入力を受け取る
  8. printf("行数と列数を入力してください (例: 2 3): ");
  9. scanf("%d %d", &a, &b);
  10.  
  11. // 動的な2次元配列を確保
  12. int **matrix = (int **)malloc(a * sizeof(int *));
  13. for (int i = 0; i < a; i++) {
  14. matrix[i] = (int *)malloc(b * sizeof(int));
  15. }
  16.  
  17. // 配列に値を代入
  18. int value = 1;
  19. for (int i = 0; i < a; i++) {
  20. for (int j = 0; j < b; j++) {
  21. matrix[i][j] = value++;
  22. }
  23. }
  24.  
  25. // 配列を指定のフォーマットで出力
  26. for (int i = 0; i < a; i++) {
  27. for (int j = 0; j < b; j++) {
  28. printf("%d ", matrix[i][j]);
  29. }
  30. printf("\n");
  31. }
  32.  
  33. // メモリを解放
  34. for (int i = 0; i < a; i++) {
  35. free(matrix[i]);
  36. }
  37. free(matrix);
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 5284KB
stdin
2
3
stdout
行数と列数を入力してください (例: 2 3): 1 2 3 
4 5 6