Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define SIZE 5
  5.  
  6. int** createMatrix(int n);
  7. void fillMatrix(int** matrix, int n);
  8. void printMatrix(int** matrix, int n);
  9. void deleteMatrix(int** matrix, int n);
  10.  
  11.  
  12. int main()
  13. {
  14.  
  15. int **tab;
  16. tab = createMatrix(SIZE);
  17. if(tab == NULL) printf("blad generowania tabricy");
  18. else
  19. {
  20. fillMatrix(tab,SIZE);
  21. printMatrix(tab, SIZE);
  22. deleteMatrix(tab, SIZE);
  23. }
  24. }
  25.  
  26.  
  27. int** createMatrix(int n)
  28. {
  29.  
  30. int ** matrix;
  31. int i;
  32. matrix = malloc(n*sizeof(int*));
  33. if(matrix == NULL)
  34. {
  35. return NULL;
  36. }
  37. for(i=0; i<n; i++)
  38. {
  39. matrix[i] = malloc(n*sizeof(int));
  40. if(matrix[i] == NULL)
  41. {
  42. deleteMatrix(matrix, i);
  43. return NULL;
  44. }
  45.  
  46. }
  47.  
  48. return matrix;
  49. }
  50.  
  51. void fillMatrix(int** matrix, int n)
  52. {
  53. int i,j;
  54. int counter = 1;
  55.  
  56. for(i=0;i<n;i++)
  57. {
  58. for(j=0;j<n;j++)
  59. {
  60. matrix[i][j] = counter;
  61. counter++;
  62. }
  63. }
  64.  
  65. }
  66.  
  67. void printMatrix(int** matrix, int n)
  68. {
  69. int i,j;
  70.  
  71.  
  72. for(i=0;i<n;i++)
  73. {
  74. for(j=0;j<n;j++)
  75. {
  76. printf("%4d",matrix[i][j]);
  77. }
  78. printf("\n");
  79. }
  80.  
  81. }
  82.  
  83. void deleteMatrix(int** matrix, int n)
  84. {
  85. int i;
  86. for(i=0;i<n;i++)
  87. {
  88. free(matrix[i]);
  89.  
  90. }
  91. free(matrix);
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement