fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5. int i, j;
  6. int a, b;
  7. int **mat;
  8.  
  9. scanf("%d %d", &a, &b);
  10.  
  11. mat = (int **)malloc(a * sizeof(int *));
  12. if(mat == NULL){
  13. printf("ERROR\n");
  14. return 0;
  15. }
  16.  
  17. for(i = 0; i < a; i++){
  18. mat[i] = (int *)malloc(b * sizeof(int));
  19. if(mat[i] == NULL){
  20. printf("ERROR\n");
  21. for(j = 0; j < i; j++) free(mat[j]);
  22. free(mat);
  23. return 0;
  24. }
  25. }
  26.  
  27. // 1から始まる連番で代入
  28. int count = 1;
  29. for(i = 0; i < a; i++){
  30. for(j = 0; j < b; j++){
  31. mat[i][j] = count++;
  32. }
  33. }
  34.  
  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. for(i = 0; i < a; i++){
  43. free(mat[i]);
  44. }
  45. free(mat);
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0.01s 5288KB
stdin
2 3
stdout
1 2 3 
4 5 6