fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //必要があれば変数などを追加してもOKです
  5.  
  6. int main(){
  7. int i,j,k=1;
  8. int a,b;
  9. int **mat;
  10. scanf("%d %d",&a,&b);
  11.  
  12. mat=(int**)malloc(sizeof(int**)*a);
  13. if(mat==NULL){
  14. printf("ERROR\n");
  15. return 0;
  16. }
  17.  
  18. for(i=0;i<a;i++){
  19. mat[i]=(int*)malloc(sizeof(int)*b);
  20. if(mat[i]==NULL){
  21. return 0;
  22. }
  23. }//ここで2次元配列の動的確保をする
  24.  
  25. for(i=0;i<a;i++){
  26. for(j=0;j<b;j++){
  27. mat[i][j]=k++;
  28. }
  29. }//ここで2次元配列に数値を代入する
  30.  
  31.  
  32. //以下の部分は表示の部分です
  33. //いじらなくてOK
  34. for(i=0;i<a;i++){
  35. for(j=0;j<b;j++){
  36. printf("%d ",mat[i][j]);
  37. }
  38. printf("\n");
  39. }
  40.  
  41. for(i=0;i<a;i++){
  42. free(mat[i]);
  43. }
  44. free(mat);
  45.  
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0s 5288KB
stdin
7 8
stdout
1 2 3 4 5 6 7 8 
9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 
25 26 27 28 29 30 31 32 
33 34 35 36 37 38 39 40 
41 42 43 44 45 46 47 48 
49 50 51 52 53 54 55 56