Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Zadatak 1:
- Napišite program u kojem ćete:
- o Omogućiti korisniku da unese vrijednost N (broj članova niza);
- o Alocirati niz operacijom new (članovi niza su tipa double);
- o Omogućiti inicijalizaciju članova niza unosom vrijednosti s tastature (koristiti funkciju);
- o Izračunati i ispisati prosječnu vrijednost elemenata niza (koristiti funkciju);
- o Dealocirati memorijski blok upotrijebljen za kreiranje niza.
- */
- #include <iostream>
- using namespace std;
- void unos(double * niz, int vel)
- {
- for (int i = 0; i < vel; i++)
- {
- cout << i + 1 << ": ";
- cin >> niz[i];
- }
- }
- float prosjek(double * niz, int vel)
- {
- float izracunatiProsjek = 0;
- int suma = 0;
- for (int i = 0; i < vel; i++)
- {
- suma += niz[i];
- }
- izracunatiProsjek = suma / vel;
- return izracunatiProsjek;
- }
- void main()
- {
- int n;
- double * niz = nullptr;
- cout << "Unesite broj clanova niza: ";
- cin >> n;
- niz = new double[n];
- cout << "Unesite clanove niza: " << endl;
- unos(niz, n);
- float rezultat = prosjek(niz, n);
- cout << "Prosjecna vrijednost elemenata: " << rezultat << endl;
- delete[] niz;
- niz = nullptr;
- cout << "Provjera je li niz na nullptr: "<< niz << endl;
- system("PAUSE");
- }
- //
- /*
- Zadatak 2:
- Napišite program u kojem ćete:
- o Kreirati dinamički niz od onoliko cjelobrojnih elemenata koliko želi korisnik;
- o Omogućiti inicijalizaciju članova niza unosom s tastature;
- o Utvrditi (prebrojati) koliko elemenata niza je zadovoljava uvjet (element niza%7>4);
- o Kreirati novi niz čiji će elementi biti elementi prvog niza koji zadovoljavaju prethodni uvjet (element niza%7>4);
- o Koristite funkcije.
- */
- #include <iostream>
- using namespace std;
- int unos(int * niz, int velicina)
- {
- int brojac = 0;
- for (int i = 0; i < velicina; i++)
- {
- cin >> niz[i];
- if (niz[i] % 7 > 4)
- {
- brojac++;
- }
- }
- return brojac;
- }
- void inicijalizacija_niza(int *pok1, int* pok2, int vel)
- {
- int j = 0;
- for (int i = 0; i<vel; i++)
- {
- if (pok1[i] % 7>4)
- {
- pok2[j] = pok1[i];
- j++;
- }
- }
- }
- void ispis(int * niz, int velicina)
- {
- for (int i = 0; i < velicina; i++)
- {
- cout << niz[i] << endl;
- }
- }
- void main()
- {
- int velicina1, velicina2;
- cout << "Koliko elemenata zelite u nizu: ";
- cin >> velicina1;
- int * niz1 = new int[velicina1];
- cout << "Unesite elemente niza: " << endl;
- velicina2=unos(niz1, velicina1);
- int * niz2 = new int[velicina2];
- inicijalizacija_niza(niz1, niz2, velicina1);
- cout << "Broj elementa koji zadovoljavaju uvjet: " << velicina2 << endl;
- cout << "Novi niz sacinjavaju elementi: " << endl;
- ispis(niz2, velicina2);
- delete[] niz1;
- delete[] niz2;
- niz1 = nullptr;
- niz2 = nullptr;
- system("PAUSE");
- }
- //
- /*
- Zadatak:
- Napišite program u kojem ćete:
- o Kreirati strukturu obuća koja ima sljedeća obilježja: veličina, boja, model;
- o Kreirati dinamički niz objekata tipa obuća
- o Omogućiti unos elemenata
- o Omogućiti ispis elemenata
- o Utvrditi koliko je objekata tipa obuća za obilježja model ima vrijednost sandale;
- o Ispisati adrese svih objekata za koje prethodnom funkcijom utvrdite da su sandale;
- o Ne zaboravite dealocirati memoriju;
- o Koristite funkcije.
- */
- #include <iostream>
- using namespace std;
- struct obuca
- {
- int velicina;
- char boja[20];
- char model[20];
- void unos()
- {
- cout << "Velicina obuce: ";
- cin >> velicina;
- cin.ignore();
- cout << "Boja obuce: ";
- cin.getline(boja, 20);
- cout << "Model obuce: ";
- cin.getline(model, 20);
- cout << endl;
- }
- void ispis()
- {
- cout << "Velicina: " << velicina << endl;
- cout << "Boja obuce: " << boja << endl;
- cout << "Model obuce: " << model << endl;
- cout << endl;
- }
- };
- int brojSandala(obuca * niz, int vel)
- {
- //o Utvrditi koliko je objekata tipa obuća za obilježja model ima vrijednost sandale;
- //o Ispisati adrese svih objekata za koje prethodnom funkcijom utvrdite da su sandale;
- int brojac=0, rezultat=0;
- for (int i = 0; i < vel; i++)
- {
- rezultat = strcmp(niz[i].model, "sandale");
- if (rezultat == 0)
- {
- brojac++;
- cout << "Adrese objekata gdje su pronadjeni modeli 'sandale' su: " << &niz[i] << endl;
- }
- }
- return brojac;
- }
- void dealociraj(obuca *& niz)
- {
- delete[] niz;
- niz = nullptr;
- }
- void main()
- {
- obuca * niz = nullptr;
- int velicina;
- cout << "Koliko elemenata zelite u nizu? ";
- cin >> velicina;
- niz = new obuca[velicina];
- cout << "Unos: " << endl;
- for (int i = 0; i < velicina; i++)
- {
- niz[i].unos();
- }
- cout << "Unijeli ste sljedece specifikacije: " << endl;
- for (int i = 0; i < velicina; i++)
- {
- cout << i + 1 << ". model: ";
- niz[i].ispis();
- }
- cout << "Broj sandala je: " << brojSandala(niz,velicina) << endl;
- cout << "Adrese specifikacije koje ste unijeli: " << endl;
- for (int i = 0; i < velicina; i++)
- {
- cout << i + 1 << ". model: " << &niz[i] << endl;
- }
- dealociraj(niz);
- cout << niz << endl;
- system("PAUSE");
- }
- //
- /*
- Zadatak 3:
- Napišite program u kojem ćete:
- • Kreirati statički niz od pet (5) cjelobrojnih vrijednosti;
- • Kreirati dinamički niz od dva pokazivača;
- • Inicijalizirati jedan od pokazivača da pokazuje na najmanji element u statičkom nizu;
- • Inicijalizirati drugi pokazivač da pokazuje na najveći element u statičkom nizu;
- • Koristite funkcije.
- */
- #include <iostream>
- using namespace std;
- void unos(int niz[], int vel)
- {
- for (int i = 0; i < vel; i++)
- {
- cin >> niz[i];
- }
- }
- void inicijaliziraj_pokazivace(int s_niz[], int ** niz_pokazivaca, int v)
- {
- int najmanji = 2147483647;
- int najveci = -2147483647 - 1;
- for (int i = 0; i<v; i++)
- {
- if (s_niz[i]<najmanji)
- {
- najmanji = s_niz[i];
- niz_pokazivaca[0] = &s_niz[i];
- }
- if (s_niz[i]>najveci)
- {
- najveci = s_niz[i];
- niz_pokazivaca[1] = &s_niz[i];
- }
- }
- }
- void main()
- {
- int niz[5];
- int velicina;
- int **nizPok = new int*[2];
- cout << "Unesite elemente niza: " << endl;
- unos(niz, 5);
- inicijaliziraj_pokazivace(niz, nizPok, 5);
- cout << "Minimalni element u nizu je: " << *nizPok[0] << ", a nalazi se na adresi: " << &nizPok[0] << endl;
- cout << "Maksimalni element u nizu je: " << *nizPok[1] << ", a nalazi se na adresi: " << &nizPok[1] << endl;
- delete[] nizPok;
- nizPok = nullptr;
- cout << nizPok << endl;
- system("PAUSE");
- }
- //
- /*
- Zadatak 4:
- Napišite program za zbrajanje dviju matrica (matrice A i matrice B)koji će:
- • omogućiti unos željene veličine matrica (broj redova i kolona – sve matrice moraju biti jednake veličine),
- • omogućiti unos vrijednosti elemenata matrica s tastature,
- • kreirati treću matricu čiji će elementi biti suma odgovarajućih elemenata matrica A i B,
- • dealocirajte dinamički kreirane objekte,
- • koristite funkcije.
- */
- #include <iostream>
- using namespace std;
- void unos(int ** niz, int red, int kolona)
- {
- for (int i = 0; i < red; i++)
- {
- for (int j = 0; j < kolona; j++)
- {
- cin >> niz[i][j];
- }
- }
- }
- void ispis(int **niz, int redova, int kolona)
- {
- for (int i = 0; i < redova; i++)
- {
- for (int j = 0; j < kolona; j++)
- {
- cout << niz[i][j] << endl;
- }
- }
- }
- void incijalizacija(int **nizA, int **nizB, int **nizC, int redova, int kolona)
- {
- for (int i = 0; i < redova; i++)
- {
- for (int j = 0; j < kolona; j++)
- {
- nizC[i][j] = nizA[i][j] + nizB[i][j];
- }
- }
- }
- void main()
- {
- int redova, kolona;
- cout << "Unesite broj redova: ";
- cin >> redova;
- cout << "Unesite broj kolona: ";
- cin >> kolona;
- cout << endl;
- int ** nizA = new int *[redova];
- int ** nizB = new int *[redova];
- int ** nizC = new int *[redova];
- for (int i = 0; i < redova; i++)
- {
- nizA[i] = new int[kolona];
- nizB[i] = new int[kolona];
- nizC[i] = new int[kolona];
- }
- cout << "Unesite elemente matrice: ";
- cout << "1. matrica: " << endl;
- unos(nizA, redova, kolona);
- cout << endl;
- cout << "2. matrica: " << endl;
- unos(nizB, redova, kolona);
- incijalizacija(nizA, nizB, nizC, redova, kolona);
- cout << "Elementi 3. matrice su: " << endl;
- ispis(nizC, redova, kolona);
- for (int i = 0; i < redova; i++)
- {
- delete[] nizA[i];
- delete[] nizB[i];
- delete[] nizC[i];
- }
- delete[] nizA;
- delete[] nizB;
- delete[] nizC;
- nizA = nullptr;
- nizB = nullptr;
- nizC = nullptr;
- cout << endl;
- cout << nizA << endl;
- cout << nizB << endl;
- cout << nizC << endl;
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement