Advertisement
neogz

POK - Matrice i operacije

Aug 26th, 2014
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.72 KB | None | 0 0
  1. /*
  2. Napišite program za zbrajanje dviju matrica (matrice A i matrice B)koji će:
  3. *  omogućiti unos željene veličine matrica (broj redova i kolona),
  4. *  omogućiti unos vrijednosti elemenata matrica s tastature,
  5. *  kreirati treću matricu čiji će elementi biti suma elemenata matrice A i B ,
  6. *  koristite funkcije.
  7. */
  8.  
  9. #include <iostream>
  10. using namespace std;
  11.  
  12. char crt[] = "\n--------------------------\n";
  13. struct matrica{
  14.     int red;
  15.     int kolona;
  16. };
  17. int ** alociraj(matrica m)
  18. {
  19.     int ** niz = new int *[m.red];
  20.     for (int i = 0; i < m.kolona; i++)
  21.         niz[i] = new int[m.kolona];
  22.  
  23.     return niz;
  24. }
  25. int ** unos(matrica m, int ** niz)
  26. {
  27.     for (int i = 0; i < m.red; i++)
  28.     {
  29.         for (int j = 0; j < m.kolona; j++)
  30.         {
  31.             cout << "[" << i + 1 << "-" << j + 1 << "]  -> ";
  32.             cin >> niz[i][j];
  33.         }
  34.         cout << endl;
  35.     }
  36.     return niz;
  37.  
  38. }
  39. int ** suma(matrica m, int ** p1, int ** p2, int **s)
  40. {
  41.     for (int i = 0; i < m.red; i++)
  42.     for (int j = 0; j < m.kolona; j++)
  43.     {
  44.         s[i][j] = p1[i][j] + p2[i][j];
  45.     }
  46.     return s;
  47. }
  48. void ispis(matrica m, int ** pok)
  49. {
  50.     cout << crt;
  51.     for (int i = 0; i < m.red; i++)
  52.     {
  53.         for (int j = 0; j < m.kolona; j++)
  54.         {
  55.             cout << pok[i][j] << "\t";
  56.         }
  57.         cout << endl;
  58.     }
  59. }
  60.  
  61. int main(){
  62.  
  63.     matrica m;
  64.     cout << "Unesite velicinu matrice [red i kolona]: ";
  65.     cin >> m.red >> m.kolona;
  66.  
  67.  
  68.     int ** pok1 = alociraj(m);
  69.     int ** pok2 = alociraj(m);
  70.     int ** spok = alociraj(m);
  71.  
  72.     pok1 = unos(m, pok1);
  73.     pok2 = unos(m, pok2);
  74.     spok = suma(m, pok1, pok2, spok);
  75.  
  76.     ispis(m, pok1);
  77.     ispis(m, pok2);
  78.     ispis(m, spok);
  79.  
  80.     for (int i = 0; i < m.red; i++)
  81.         delete[]pok1[i], pok2[i], spok[i];
  82.    
  83.     delete[]pok1, pok2, spok;
  84.     pok1, pok2, spok = nullptr;
  85.  
  86.     system("pause>null");
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement