fork(1) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5. int i,j;
  6. int a,b;
  7. int **mat;
  8. scanf("%d %d",&a,&b);
  9.  
  10. // 2次元配列の動的確保
  11. mat = (int **)malloc(sizeof(int *) * a);
  12. if (mat == NULL) {
  13. printf("ERROR\n");
  14. return 0;
  15. }
  16. for (i = 0; i < a; i++) {
  17. mat[i] = (int *)malloc(sizeof(int) * b);
  18. if (mat[i] == NULL) {
  19. printf("ERROR\n");
  20. return 0;
  21. }
  22. }
  23.  
  24. // 2次元配列に数値を代入する
  25. for(i = 0; i < a; i++){
  26. for(j = 0; j < b; j++){
  27. scanf("%d", &mat[i][j]);
  28. }
  29. }
  30.  
  31. // 配列の表示
  32. for(i = 0; i < a; i++){
  33. for(j = 0; j < b; j++){
  34. printf("%d", mat[i][j]);
  35. if (j < b - 1) {
  36. printf(" ");
  37. }
  38. }
  39. printf("\n");
  40. }
  41.  
  42. // メモリの解放
  43. for (i = 0; i < a; i++) {
  44. free(mat[i]);
  45. }
  46. free(mat);
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0s 5300KB
stdin
2 3
1 2 3 4 5 6
stdout
1 2 3
4 5 6