Advertisement
Guest User

Macierze

a guest
Oct 15th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.03 KB | None | 0 0
  1. #include<iostream>
  2.  
  3.  
  4. using namespace std;
  5.  
  6. int Blad()
  7. {
  8.     return 2;
  9. }
  10.  
  11.  
  12. void ZwolnijPamiec(int ** &_macierz, int _wiersze)
  13. {
  14.     for(int i = 0; i < _wiersze; i++)
  15.         delete [] _macierz[i];
  16.     delete _macierz;
  17. }
  18.  
  19.  
  20. void Wczytaj(int ** &_macierz, int _wiersze, int _kolumny)
  21. {
  22.     cout << "Alokacja pamieci dla macierzy...\n";
  23.  
  24.     _macierz = new int *[_wiersze];
  25.     for(int i = 0; i < _wiersze; i++)
  26.         _macierz[i] = new int [_kolumny];
  27.     if(_macierz == NULL)
  28.     {
  29.         cout << "Blad alokacji pamieci \n";
  30.         Blad();
  31.     }
  32.  
  33.     cout << "Wczytywanie macierzy: \n";
  34.  
  35.     for(int i = 0; i < _wiersze; i++)
  36.     {
  37.         for(int j = 0; j < _kolumny; j++)
  38.         {
  39.             cout << "Podaj element ["<< i + 1 <<"]["<< j + 1 <<"]: \n";
  40.             cin >> _macierz[i][j];
  41.         }
  42.     }
  43.  
  44.     ZwolnijPamiec(_macierz, _wiersze);
  45.  
  46. }
  47.  
  48.  
  49. void Mnozenie(int ** &_macierz1, int ** &_macierz2, int _wiersze, int _kolumny)
  50. {
  51.     int suma;
  52.     cout << "Mnozenie... \n\n";
  53.  
  54.     for(int i = 0; i < _wiersze; i++)
  55.     {
  56.         for(int j = 0; j < _wiersze; j++)
  57.         {
  58.             suma = 0;
  59.             for(int k = 0; k < _kolumny; k++)
  60.             {
  61.                 //suma += _macierz1[i][k] * _macierz2[k][j];
  62.  
  63.             }
  64.             cout << suma << "\t";
  65.  
  66.         }
  67.         cout << endl;
  68.     }
  69.  
  70. }
  71.  
  72. int main()
  73. {
  74.     int wiersze1, kolumny1, wiersze2, kolumny2;
  75.     int ** macierz1, ** macierz2;
  76.     cout << "Podaj wymiary pierwszej macierzy: (wiersze, kolumny po spacji): ";
  77.     cin >> wiersze1 >> kolumny1;
  78.     cout << "Podaj wymiary drugiej macierzy: (wiersze, kolumny po spacji): ";
  79.     cin >> wiersze2 >> kolumny2;
  80.  
  81.     if(kolumny1 != wiersze2)
  82.     {
  83.         cout << "Nie mozna wykonac mnozenia!! \n";
  84.         Blad();
  85.     }
  86.  
  87.     Wczytaj(macierz1, wiersze1, kolumny1);
  88.  
  89.     Wczytaj(macierz2, wiersze2, kolumny2);
  90.  
  91.     Mnozenie(macierz1, macierz2, wiersze2, kolumny1);
  92.  
  93.     ZwolnijPamiec(macierz2, wiersze2);
  94.  
  95.     ZwolnijPamiec(macierz1, wiersze1);
  96.  
  97.  
  98.  
  99.     return 0;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement