Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Zadatak 7
- Napišite program koji će omogućiti kreiranje niza od 7 cijelih brojeva, te uz pomoć rekurzivnih funkcija omogućiti:
- · unos elemenata,
- · ispis elemenata,
- · izračunati sumu svih elemenata niza,
- · sumu pozitivnih elemenata niza,
- · sumu elemenata niza s parnim indeksom.
- */
- #include <iostream>
- using namespace std;
- void unos(int n[], int vel)
- {
- if (vel == 0)
- cin >> n[vel];
- else
- {
- cin >> n[vel];
- unos(n, vel - 1);
- }
- }
- void ispis(int n[], int vel)
- {
- if (vel == 0)
- cout << n[vel] << endl;
- else
- {
- cout << n[vel] << endl;
- ispis(n, vel - 1);
- }
- }
- int sumaElemenata(int n[], int vel)
- {
- if (vel == 0)
- return n[vel];
- return n[vel] + sumaElemenata(n, vel - 1);
- }
- int sumaPozitivnih(int n[], int vel)
- {
- // sumu pozitivnih elemenata niza,
- if (vel<0)//bazni slucaj
- return 0;
- //ako je velicina niza=1, vrati prvi tj. nulti (0) indeks niza
- //n[1]={1->(index 0)};
- //vraca 1
- //jer je to jedina vrijednost niza, te tu vrijednost i vraca kao jedinu mogucu opciju
- if (n[vel] > 0) //ako su brojevi tj. elementi niza pozitivni tj, >
- return n[vel] + sumaPozitivnih(n, vel - 1); //rekurzija (zbraja te pozitivne brojeve jedan po jedan)
- else
- return sumaPozitivnih(n, vel - 1);
- }
- int sumaParnih(int n[], int vel)
- {
- //sumu elemenata niza s parnim indeksom
- //1,2,3,4,5,6,7
- //0,1,2,3,4,5,6,
- //x,x,3,x,5,7
- if (vel<0 )
- return 0; //bazni slucaj
- else
- {
- if (n[vel] % 2 == 0)
- return n[vel] + sumaParnih(n, vel - 1);
- else
- return sumaParnih(n, vel - 1);
- }
- }
- int main()
- {
- int niz[7];
- cout << "Unesite elemente u niz: ";
- unos(niz, 6);
- cout << "Unijeli ste: ";
- ispis(niz, 6);
- cout << "Suma unijetih elemenata: " << sumaElemenata(niz, 6) << endl;
- cout << "Suma pozitvinih elemenata je: " << sumaPozitivnih(niz, 6) << endl; // zašto ovdje ide tačan broj elemenata, a ne kao u gornjim funkcijama 7-1=6?
- cout << "Suma parnih elemenata je: " << sumaParnih(niz, 6) << endl;
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement