Advertisement
amermo

Dinamicka alokacija / korisne funkcije za matrice

Apr 17th, 2015
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. void UnistiMatricu(double **Matrica, int n)
  4. {
  5.     for (int i(0); i < n; i++)
  6.         delete[] Matrica[i];
  7.     delete[] Matrica;
  8. }
  9.  
  10. void KreirajMatricu(double **&Matrica, int n)
  11. {
  12.     double **p = new double*[n];
  13.     for (int i(0); i < n; i++)
  14.         p[i] = nullptr;
  15.     try
  16.     {
  17.         for (int i(0); i < n; i++)
  18.             p[i] = new double[n];
  19.     }
  20.     catch (std::bad_alloc)
  21.     {
  22.         UnistiMatricu(p, n);
  23.         throw;
  24.     }
  25.     Matrica = p;
  26. }
  27.  
  28. void UnesiMatricu(double **&Matrica, int n)
  29. {
  30.     for (int i(0); i < n; i++)
  31.         for (int j(0); j < n; j++)
  32.         {
  33.             std::cout << "Unesite element: (" << i + 1 << ", " << j + 1 << "): ";
  34.             std::cin >> Matrica[i][j];
  35.         }
  36. }
  37.  
  38. void IspisiMatricu(const double *const *Matrica, int n)
  39. {
  40.     for (int i(0); i < n; i++)
  41.     {
  42.         for (int j(0); j < n; j++)
  43.             std::cout << Matrica[i][j] << " ";
  44.         std::cout << std::endl;
  45.     }
  46. }
  47.  
  48. double **SaberiMatrice(double **Matrica1, double **Matrica2, int n)
  49. {
  50.     double **Matrica;
  51.     KreirajMatricu(Matrica, n);
  52.     for (int i(0); i < n; i++)
  53.         for (int j(0); j < n; j++)
  54.             Matrica[i][j] = Matrica1[i][j] + Matrica2[i][j];
  55.     return Matrica;
  56. }
  57.  
  58. int main()
  59. {
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement