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