Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Zadatak 1
- Napišite program u kojem ćete:
- a) Deklarirati dvije varijable tipa float (broj1 i broj2).
- b) Inicijalizirati varijablu broj1 vrijednošću 7.3.
- c) Deklarirati pokazivač na tip podatka float.
- d) Inicijalizirati pokazivač na adresu varijable broj1.
- e) Ispisati vrijednost varijable na koju upućuje pokazivač koristeći dereferenciranje pokazivača.
- f) Inicijalizirati vrijednost varijable broj2 na istu vrijednost na koju upućuje pokazivač, te ju ispisati.
- g) Ispisati adresu varijable broj1.*/
- #pragma warning (disable:4996)
- #include <iostream>
- using namespace std;
- int main()
- {
- float broj1, broj2;
- broj1 = 7.3;
- float *pok;
- pok = &broj1;
- cout << "Ispis vrijednosti varijable na koju pokazuje pokazivac (dereferenciranje pokazivaca): " << *pok << endl;
- broj2 = *pok;
- cout << "Vrijednost varijable broj 2 je: " << broj2 << endl;
- cout << "Adresa varijable broj1 je: " << &broj1 << endl;
- system("PAUSE");
- return 0;
- }
- /////
- /*Zadatak 2
- Napišite program u kojem ćete:
- a) deklarirati niz tipa double koji ima 10 elemenata:
- double niz [10]={0.0, 1.1, 2.2, 3.3., 4.4, 5.5, 6.6, 7.7, 8.8, 9.9}
- b) provjeriti koliko prostora u memoriji zauzima tip podatka double i koliko prostora u memoriji zauzima cijeli niz
- (upotrijebite operator sizeof)
- c) deklarirati pokazivač koji pokazuje na objekt tipa double
- d) inicijalizirate pokazivač na adresu prvog elementa niza
- (pokušajte ovu inicijalizaciju napraviti na dva načina)
- e) ispišite 4 element niza na barem 3 različita načina
- (koristite indeksaciju elemenata niza, dereferenciranje pokazivača i operacije nad pokazivačem)
- f) ispišite adrese svih elemenata niza koristeći operator inkrementa na pokazivač
- (vodite računa da ukoliko dekrementirate pokazivač – rezultat je adresa pomaknuta za onoliko bajta koliko zauzima tip podatka na koji upućuje pokazivač)
- g) ispišite elemente niza koristeći dereferenciranje pokazivača.*/
- #pragma warning (disable:4996)
- #include <iostream>
- using namespace std;
- int main()
- {
- double niz[10] = { 0.0, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9 };
- cout << "Memorija koju zauzima tip podatka double: " << sizeof(double) << endl;
- cout << "Memorija koju zauzima cijeli niz: " << sizeof(niz) << endl;
- cout << "Svi elementi niza (vrijednosti): " << endl;
- for (int i = 0; i < 10; i++)
- {
- cout <<i+1<<": " <<niz[i] << endl;
- }
- cout << "Svi elementi niza (adrese): " << endl;
- for (int i = 0; i < 10; i++)
- {
- cout << i + 1 << ": "<< &niz[i] << endl;
- }
- double * pok;
- pok = &niz[0];
- cout << "Pokazivac na adresi prvog elementa niza: " << pok << endl;
- cout << "Ispis 4 elementa niza na 3 razlicita nacina: " << endl;
- cout << "IV element niza: " << niz[3] << endl;
- cout << "IV element niza: " << pok[3] << endl;
- cout << "IV element niza: " << pok[2 + 1] << endl;
- cout << "adrese svih elemenata niza koristeći operator inkrementa na pokazivac: " << endl;
- for (int i = 0; i < 10; i++)
- {
- cout << i + 1 << ": " << pok << endl;
- pok++;
- }
- cout << "svi elementi niza preko dereferenciranja pokazivaca: " << endl;
- for (int i = 0; i < 10; i++)
- {
- pok = &niz[i];
- cout << i + 1 << ": " << *pok << endl;
- }
- system("PAUSE");
- return 0;
- }
- /////
- /*Zadatak 3
- Napišite program koji će vrijednost unesenog cijelog broja mijenjati u trostruko veću – kub unesenog broja.
- Neka funkcija za računanje kuba ima jedan argument i neka njeno zaglavlje izgleda ovako:
- void cube ( int * );*/
- #pragma warning (disable:4996)
- #include <iostream>
- using namespace std;
- void cube(int * broj)
- {
- *broj = pow(*broj, 3);
- }
- int main()
- {
- int n;
- cout << "Unesite cijeli broj: ";
- cin >> n;
- cout << "Unijeli ste: " << n << endl;
- cube(&n);
- cout << "Kub unesenog broja je: " << n<<endl;
- system("PAUSE");
- return 0;
- }
- /////
- /*Zadatak 4:
- Napišite program u kojem ćete deklarirari niz od 5 cijelobrojnih elemenata te uz pomoć:
- funkcije: void unos (int *, int); omogućiti unos elemenata niza;
- funkcije: void ispis (int *, int); omogućiti ispis elemenata niza;
- funkcije: int * najveci (int *, int); vratiti adresu najvećeg elementa u nizu; obavezno provjerite je li funkcija vratila korektnu adresu.*/
- #pragma warning (disable:4996)
- #include <iostream>
- using namespace std;
- void unos(int * niz , int velicina )
- {
- for (int i = 0; i < velicina; i++)
- cin >> *(niz + i);
- }
- void ispis(int *niz , int velicina)
- {
- for (int i = 0; i < velicina; i++)
- cout << *(niz+i) << endl;
- }
- int * najveci(int * niz, int velicina)
- {
- int *adresa=0;
- int max = niz[0];
- for (int i = 0; i < velicina; i++)
- {
- if (*(niz + i) > max)
- {
- max = *(niz + i);
- adresa = niz + i;
- }
- }
- return adresa;
- }
- void provjera(int * niz, int velicina)
- {
- for (int i = 0; i < velicina; i++)
- {
- cout << i + 1 << ": " <<niz+i << endl;
- }
- }
- int main()
- {
- const int vel = 5;
- int nizElemenata[vel];
- int *pok;
- cout << "Unesite elemente niza: " << endl;
- unos(nizElemenata, vel);
- cout << "Unijeli ste sljedece elemente: " << endl;
- ispis(nizElemenata, vel);
- pok=najveci(nizElemenata, vel);
- cout << "Adresa najveceg elementa u nizu: " <<pok<< endl;
- cout << "Adrese elemenata u nizu: " << endl;
- for (int i = 0; i < vel; i++)
- {
- cout <<i+1 <<": "<<&nizElemenata[i] << endl;
- }
- cout << "Adrese elemenata u nizu (preko funkcije provjera): " << endl;
- provjera(nizElemenata, vel);
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment