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