Advertisement
Kenoo

Dinamički nizovi ( 4. zadatak - zbrajanje matrica )

Mar 17th, 2018
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. /*
  2. Zadatak 4:
  3. Napišite program za zbrajanje dviju matrica (matrice A i matrice B)koji će:
  4.  omogućiti unos željene veličine matrica (broj redova i kolona),
  5.  omogućiti unos vrijednosti elemenata matrica s tastature,
  6.  kreirati treću matricu čiji će elementi biti suma odgovarajućih elemenata
  7. matrica A i B,
  8.  dealocirajte dinamički kreirane objekte,
  9.  koristite funkcije.
  10. */
  11.  
  12. #include<iostream>
  13. using namespace std;
  14.  
  15.  
  16.  
  17. void unos(int **matrica, int r, int k)
  18. {
  19. for (int i = 0; i < r; i++)
  20. {
  21. for (int j = 0; j < k; j++)
  22. {
  23. cin >> matrica[i][j];
  24. }
  25. }
  26. }
  27.  
  28. void ispis(int **matrica, int r, int k)
  29. {
  30. for (int i = 0; i < r; i++)
  31. {
  32. for (int j = 0; j < k; j++)
  33. {
  34. cout << matrica[i][j] << "|";
  35. }
  36. cout << endl;
  37. }
  38. }
  39.  
  40. void sabiranjeAiB(int **A, int**B, int**C, int r, int k)
  41. {
  42. for (int i = 0; i < r; i++)
  43. {
  44. for (int j = 0; j < k; j++)
  45. {
  46. C[i][j] = A[i][j] + B[i][j];
  47. }
  48. }
  49. }
  50.  
  51. void dealokacija(int**prvi, int**drugi, int**treci, int r)
  52. {
  53. for (int i = 0; i < r; i++)
  54. {
  55. delete[]prvi[i];
  56. delete[]drugi[i];
  57. delete[]treci[i];
  58. }
  59. delete[]prvi;
  60. delete[]drugi;
  61. delete[]treci;
  62.  
  63. prvi = nullptr;
  64. drugi = nullptr;
  65. treci = nullptr;
  66. }
  67.  
  68. int main()
  69. {
  70. int r, k;
  71. cout << "Unesite broj redova matrica" << endl;
  72. cin >> r;
  73. cout << "Unesite broj kolona matrica" << endl;
  74. cin >> k;
  75.  
  76. int**A = new int*[r];
  77. for (int i = 0; i < r; i++)
  78. {
  79. A[i] = new int[k];
  80. }
  81.  
  82. int**B = new int*[r];
  83. for (int i = 0; i < r; i++)
  84. {
  85. B[i] = new int[k];
  86. }
  87.  
  88. int**C = new int*[r];
  89. for (int i = 0; i < r; i++)
  90. {
  91. C[i] = new int[k];
  92. }
  93.  
  94. cout << "Unesite elemente prve matrice" << endl;
  95. unos(A, r, k);
  96. cout << "Unesite elemente druge matrice" << endl;
  97. unos(B, r, k);
  98. sabiranjeAiB(A, B, C, r, k);
  99.  
  100. cout << "Rezultat zbrajanja unesenih matrica je:" << endl;
  101. ispis(C, r, k);
  102.  
  103. dealokacija(A, B, C, r);
  104.  
  105. system("pause");
  106. return 0;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement