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("Memory allocation failed.\n");
  14. exit(1);
  15. }
  16. for (i = 0; i < a; i++) {
  17. mat[i] = (int *)malloc(sizeof(int) * b);
  18. if (mat[i] == NULL) {
  19. printf("Memory allocation failed.\n");
  20. exit(1);
  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. }
  36. printf("\n");
  37. }
  38.  
  39. // メモリの解放
  40. for (i = 0; i < a; i++) {
  41. free(mat[i]);
  42. }
  43. free(mat);
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5300KB
stdin
2 3
stdout
0 0 0 
0 0 0