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