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