Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Napišite program u kojem ćete kreirati kvadratnu matricu 3x3, a zatim kreirati REKURZIVNE FUNKCIJE za:
- · unos elemenata matrice
- · pronalaženje najveće vrijednosti u retku
- · pronalaženje najveće vrijednosti u koloni
- · sume elemenata na glavnoj dijagonali
- · sume elemenata na sporednoj dijagonali
- */
- #include <iostream>
- using namespace std;
- void unos(int niz[][3], int r, int k)
- {
- if (r >= 3)return;
- if (k < 3)
- {
- cout << "Unesite vrijednost matrice [" << r + 1 << "," << k + 1 << "] -> ";
- cin >> niz[r][k];
- unos(niz, r, k + 1);
- }
- else
- {
- cout << endl;
- unos(niz, r + 1, 0);
- }
- }
- void ispis(int niz[][3], int r, int k)
- {
- if (r >= 3) return;
- if (k < 3)
- {
- cout << niz[r][k] << "\t";
- ispis(niz, r, k + 1);
- }
- else
- {
- cout << endl;
- ispis(niz, r + 1, 0);
- }
- }
- int najvecauredu(int niz[][3], int r, int k, int big)
- {
- if (k >= 3) return big;
- else
- {
- if (big < niz[r][k])
- big = niz[r][k];
- return najvecauredu(niz,r,k + 1, big);
- }
- }
- int sumaglavna(int niz[][3], int pom)
- {
- if (pom == 2) return niz[pom][pom];
- return niz[pom][pom] + sumaglavna(niz, pom+1);
- }
- int sumasporedna(int niz[][3], int r, int k)
- {
- if (r >= 3) return 0;
- if (r + k == 2) return niz[r][k] + sumasporedna(niz, r+1, 0);
- else return sumasporedna(niz, r, k + 1);
- }
- int main(){
- int matrica[3][3];
- unos(matrica, 0, 0);
- ispis(matrica, 0, 0);
- for (int i = 0; i < 3; i++)
- cout << "Najveci element u redu je " << i + 1 << " je: " << najvecauredu(matrica, i, 0, 0) << endl;
- cout << "\nSuma elmenata glavne dijagonale je: " << sumaglavna(matrica, 0) << endl;
- cout << "Suma elmenata sporedne dijagonale je: " << sumasporedna(matrica,0,0) << endl << endl;
- system("pause>null");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement