fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void init_matrix ( double** m, unsigned n )
  5. {
  6. int i, j;
  7. for ( i = 0; i < n; i++ )
  8. {
  9. for ( j = 0; j < n; j++ )
  10. {
  11. m[i][j] = n;
  12. }
  13. }
  14. }
  15.  
  16. void display_matrix ( double** m, unsigned n )
  17. {
  18. int i, j;
  19. for ( i = 0; i < n; i++ )
  20. {
  21. for ( j = 0; j < n; j++ )
  22. {
  23. printf ("%3.0lf", m[i][j] );
  24. }
  25. putchar('\n');
  26. }
  27. putchar('\n');
  28. }
  29.  
  30. void free_matrix ( double** m, unsigned n )
  31. {
  32. int i;
  33. for ( i = 0; i < n; i++ )
  34. free ( m[i] );
  35. free ( m );
  36. }
  37.  
  38. int main(void)
  39. {
  40. double** M = NULL;
  41. const int nmax = 10;
  42. int i, n;
  43.  
  44. for ( n = 1; n <= nmax; n++ )
  45. {
  46. M = realloc(M, n*sizeof(double*));
  47. for ( i = 0; i < n - 1; i++ )
  48. {
  49. M[i] = realloc(M[i], n*sizeof(double));
  50. }
  51. M[n-1] = malloc(n*sizeof(double));
  52.  
  53. init_matrix(M, n);
  54. display_matrix(M, n);
  55. }
  56.  
  57. free_matrix ( M, nmax );
  58. system("pause");
  59. return 0;
  60. }
Success #stdin #stdout 0s 1920KB
stdin
Standard input is empty
stdout
  1

  2  2
  2  2

  3  3  3
  3  3  3
  3  3  3

  4  4  4  4
  4  4  4  4
  4  4  4  4
  4  4  4  4

  5  5  5  5  5
  5  5  5  5  5
  5  5  5  5  5
  5  5  5  5  5
  5  5  5  5  5

  6  6  6  6  6  6
  6  6  6  6  6  6
  6  6  6  6  6  6
  6  6  6  6  6  6
  6  6  6  6  6  6
  6  6  6  6  6  6

  7  7  7  7  7  7  7
  7  7  7  7  7  7  7
  7  7  7  7  7  7  7
  7  7  7  7  7  7  7
  7  7  7  7  7  7  7
  7  7  7  7  7  7  7
  7  7  7  7  7  7  7

  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8
  8  8  8  8  8  8  8  8

  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9
  9  9  9  9  9  9  9  9  9

 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10
 10 10 10 10 10 10 10 10 10 10