Advertisement
neogz

REK - Matrica operacije

Aug 21st, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.83 KB | None | 0 0
  1. /*
  2.           Napišite program u kojem ćete kreirati  kvadratnu matricu 3x3, a zatim kreirati REKURZIVNE FUNKCIJE za:
  3.         ·         unos elemenata matrice
  4.         ·         pronalaženje najveće vrijednosti u retku
  5.         ·         pronalaženje najveće vrijednosti u koloni
  6.         ·         sume elemenata na glavnoj dijagonali
  7.         ·         sume elemenata na sporednoj dijagonali
  8. */
  9.  
  10. #include <iostream>
  11. using namespace std;
  12.  
  13. void unos(int niz[][3], int r, int k)
  14. {
  15.     if (r >= 3)return;
  16.     if (k < 3)
  17.     {
  18.         cout << "Unesite vrijednost matrice  [" << r + 1 << "," << k + 1 << "]  -> ";
  19.         cin >> niz[r][k];
  20.         unos(niz, r, k + 1);
  21.     }
  22.     else
  23.     {
  24.         cout << endl;
  25.         unos(niz, r + 1, 0);
  26.     }
  27. }
  28. void ispis(int niz[][3], int r, int k)
  29. {
  30.     if (r >= 3) return;
  31.     if (k < 3)
  32.     {
  33.         cout << niz[r][k] << "\t";
  34.         ispis(niz, r, k + 1);
  35.     }
  36.     else
  37.     {
  38.         cout << endl;
  39.         ispis(niz, r + 1, 0);
  40.     }
  41. }
  42. int najvecauredu(int niz[][3], int r, int k, int big)
  43. {
  44.     if (k >= 3) return big;
  45.     else
  46.     {  
  47.         if (big < niz[r][k])
  48.             big = niz[r][k];
  49.         return najvecauredu(niz,r,k + 1, big);
  50.     }
  51. }
  52. int sumaglavna(int niz[][3], int pom)
  53. {
  54.     if (pom == 2) return niz[pom][pom];
  55.     return niz[pom][pom] + sumaglavna(niz, pom+1);
  56. }
  57. int sumasporedna(int niz[][3], int r, int k)
  58. {
  59.     if (r >= 3) return 0;
  60.     if (r + k == 2) return niz[r][k] + sumasporedna(niz, r+1, 0);
  61.     else return sumasporedna(niz, r, k + 1);
  62. }
  63.  
  64. int main(){
  65.    
  66.     int matrica[3][3];
  67.     unos(matrica, 0, 0);
  68.  
  69.     ispis(matrica, 0, 0);
  70.    
  71.     for (int i = 0; i < 3; i++)
  72.         cout << "Najveci element u redu je " << i + 1 << " je: " << najvecauredu(matrica, i, 0, 0) << endl;
  73.  
  74.     cout << "\nSuma elmenata glavne dijagonale je: " << sumaglavna(matrica, 0) << endl;
  75.     cout << "Suma elmenata sporedne dijagonale je: " << sumasporedna(matrica,0,0) << endl << endl;
  76.  
  77.  
  78.     system("pause>null");
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement