fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int ** macierz(int **, int, int);
  6. void wypisanie(int **, int, int);
  7. void sumowanie(int **, int, int);
  8.  
  9. int main ()
  10. {
  11. int N = 0;
  12. int M = 0;
  13. int **tab;
  14. int i;
  15.  
  16. printf("\n Podaj liczbe kolumn oraz wierszy swojej"
  17. "macierzy KWADRATOWEJ: ");
  18. scanf("%d", &N);
  19. M = N;
  20.  
  21. tab = macierz(tab, N, M);
  22. wypisanie(tab, N, M);
  23. sumowanie(tab, N, M);
  24.  
  25. for(i = 0; i < N; i++) {
  26. free(tab[i]);
  27. }
  28. free(tab);
  29.  
  30. system("pause");
  31. return 0;
  32. }
  33.  
  34. int ** macierz(int ** tab, int N, int M)
  35. {
  36. int i = 0;
  37. int j = 0;
  38.  
  39. tab = (int **) malloc(N * sizeof(int*));
  40. for(i = 0; i < M; i++)
  41. {
  42. tab[i] = (int *) malloc(M * sizeof(int));
  43. }
  44.  
  45. srand((unsigned int) time(NULL));
  46. for (i = 0; i < N; i++)
  47. for (j = 0; j < M; j++)
  48. tab[i][j] = rand() % 10;
  49.  
  50. return tab;
  51.  
  52. }
  53.  
  54. void wypisanie(int ** tab, int N, int M)
  55. {
  56. int i = 0;
  57. int j = 0;
  58. for(i = 0; i < N; i++)
  59. {
  60. for(j = 0; j < M; j++)
  61. {
  62. printf("%d ", tab[i][j]);
  63. }
  64. printf("\n");
  65. }
  66. }
  67.  
  68. void sumowanie(int **tab, int N, int M)
  69. {
  70. int skos = 0;
  71. int nad = 0;
  72. int pod = 0;
  73. int i = 0;
  74. int j = 0;
  75.  
  76. for (i = 0; i < N; i++){
  77. for (j = 0; j < M; j++)
  78. {
  79. if (i < j)
  80. {
  81. nad += tab[i][j];
  82. }
  83. else if (i == j)
  84. {
  85. skos += tab[i][j];
  86. }
  87. else
  88. {
  89. pod += tab[i][j];
  90. }
  91. }
  92. }
  93.  
  94. printf("a)\tSuma liczb macierzy nad przekatna jest rowna: %d\n", nad);
  95. printf("b)\tSuma liczb macierzy na przekatnej jest rowna: %d\n", skos);
  96. printf("c)\tSuma liczb macierzy pod przekatna jest rowna: %d\n", pod);
  97. }
Success #stdin #stdout #stderr 0s 2296KB
stdin
5
stdout
 Podaj liczbe kolumn oraz wierszy swojejmacierzy KWADRATOWEJ: 5 6 3 7 9 
4 5 8 8 4 
3 7 1 1 5 
5 1 7 7 0 
3 4 9 0 2 
a)	Suma liczb macierzy nad przekatna jest rowna: 51
b)	Suma liczb macierzy na przekatnej jest rowna: 20
c)	Suma liczb macierzy pod przekatna jest rowna: 43
stderr
sh: 1: pause: not found