Advertisement
adnanj

Alociranje i dealociranje dinamičke matrice

Apr 4th, 2014
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.64 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void alociraj(int **&, int &, int&);
  5. void dealociraj(int **&, int);
  6. void unos(int **, int, int);
  7. void ispis(int **, int, int);
  8. int najveci(int **, int, int);
  9. int najmanji(int **, int, int);
  10. float prosjecna(int **, int, int);
  11.  
  12. int main() {
  13.         int brojRedova, brojKolona, **matrica = NULL;
  14.         cout << "Unesite broj redova: ";
  15.         cin >> brojRedova;
  16.         cout << "Unesite broj kolona: ";
  17.         cin >> brojKolona;
  18.  
  19.         alociraj(matrica, brojRedova, brojKolona);
  20.         unos(matrica, brojRedova, brojKolona);
  21.         cout << "Unijeli ste sljedece elemente: " << endl;
  22.         ispis(matrica, brojRedova, brojKolona);
  23.  
  24.         cout << "Najveci element je: " << najveci(matrica, brojRedova, brojKolona) << endl;
  25.         cout << "Najmanji element je: " << najmanji(matrica, brojRedova, brojKolona) << endl;
  26.         cout << "Prosjecna vrijednost elemenata matrice je: " << prosjecna(matrica, brojRedova, brojKolona) << endl;
  27.    
  28.         dealociraj(matrica, brojRedova);
  29.  
  30.         system ("pause>0");
  31.         return 0;
  32. }
  33.  
  34. void alociraj(int **&matrica, int &brojRedova, int&brojKolona) {
  35.     matrica = new int *[brojRedova];
  36.     for(int i = 0; i < brojRedova; i++)
  37.         matrica[i] = new int [brojKolona];
  38. }
  39.  
  40. void dealociraj(int **&matrica, int brojRedova) {
  41.     for(int i = 0; i < brojRedova; i++)
  42.         delete [] matrica[i];
  43.     delete [] matrica;
  44.     matrica = NULL;
  45. }
  46.  
  47. void unos(int **matrica, int brojRedova, int brojKolona) {
  48.     for(int i = 0; i < brojRedova; i++) {
  49.       for(int j = 0; j < brojKolona; j++) {
  50.         cout << "Unesite element na poziciji [" << i << "][" << j << "]: ";
  51.         cin >> matrica[i][j];
  52.         }
  53.     }
  54. }
  55.  
  56. void ispis(int **matrica, int brojRedova, int brojKolona) {
  57.     for(int i = 0; i < brojRedova; i++) {
  58.       for(int j = 0; j < brojKolona; j++)
  59.          cout << "[" << i << "][" << j << "]: " << matrica[i][j] << endl;
  60.     }
  61. }
  62.  
  63. int najveci(int **matrica, int brojRedova, int brojKolona) {
  64.     int najveci = matrica[0][0];
  65.     for(int i = 0; i < brojRedova; i++) {
  66.       for(int j = 0; j < brojKolona; j++)
  67.         if(matrica[i][j] > najveci)
  68.            najveci = matrica[i][j];
  69.     }
  70.     return najveci;
  71. }
  72.  
  73. int najmanji(int **matrica, int brojRedova, int brojKolona) {
  74.     int najmanji = matrica[0][0];
  75.     for(int i = 0; i < brojRedova; i++) {
  76.       for(int j = 0; j < brojKolona; j++)
  77.         if(matrica[i][j] < najmanji)
  78.             najmanji = matrica[i][j];
  79.     }
  80.     return najmanji;
  81. }
  82.  
  83. float prosjecna(int **matrica, int brojRedova, int brojKolona) {
  84.     float suma = 0;
  85.     for(int i = 0; i < brojRedova; i++) {
  86.       for(int j = 0; j < brojKolona; j++)
  87.           suma += matrica[i][j];
  88.     }
  89.     return suma / (brojRedova * brojKolona);
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement