Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- /*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) Neka pokazivač pokazuje na varijablu broj2. Dodjelite proizvoljnu vrijednost u broj1 preko pokazivača. Ispišite vrijednost broj1 preko pokazivača.
- g) Ispisati adresu varijable broj1.
- */
- //1:
- //void main()
- //{
- // float broj1, broj2;
- // broj1=7.3;
- // float * p1;
- // p1=&broj1;
- // cout<<"vrijednost varijable na koju upućuje pokazivač koristeći dereferenciranje pokazivača: "<<*p1<<endl;
- // p1=&broj2;
- // *p1=5.7;
- // cout<<"broj1: "<<*p1<<endl;
- // cout<<"adresa varijable broj1: "<<&broj1<<endl;
- //
- // system("PAUSE");
- //}
- /*Napravite program u kome ćete:
- h) unijeti dva broja (a i b tipa float).
- i) deklarisati pokazivač p1 koji će pokazivati na varijablu a
- j) deklarisati pokazivač p2 koji će pokazivati na varijablu b
- k) izračunati sljedeće matematičke izraze koristeći pokazivače p1 i p2 (tj. bez korištenja varijable a i b).
- */
- /*void main()
- {
- float a,b;
- cout<<"Unesite 2 broja: ";
- cin>>a>>b;
- float *p1=&a;
- float *p2=&b;;
- float c1, c2, c3, c4, c5, c6;
- c1=(*p1)-(*p2);
- c2=sin(*p1)-cos(*p2);
- c3=(*p2)*(*p1);
- c4=(*p1)/(*p2);
- c5=pow((*p1),(*p2));
- c6=pow(sqrt((*p1)), (*p2));
- cout<<"c1: "<<c1<<endl;
- cout << "c2: " << c2 << endl;
- cout << "c3: " << c3 << endl;
- cout << "c4: " << c4 << endl;
- cout << "c5: " << c5 << endl;
- cout << "c6: " << c6 << endl;
- system("PAUSE");
- }*/
- //void main()
- //{
- // int a;
- // cout << "Unesite broj: ";
- // cin >> a;
- //
- // int* p1;
- // p1 = &a;
- //
- // cout << *p1;
- //}
- /*Prepravite program tako da se dereferenciranje pokazivača p1 i ispis tako dobivene vrijednosti vrši u novoj funkciji void f1.
- Znači, u funkciji main treba se nalaziti samo varijabla a, dok u funkciji f1 treba se nalaziti samo varijabla (pokazivač) p1,
- koja prima adresu varijable a iz funkcije main. */
- /*Pomoć:
- - formalni parametar je: p1 tipa int*
- - aktuelni parametar: adresa varijable a*/
- //void f1(int *p1)
- //{
- // cout<<*p1<<endl;
- //}
- //void main()
- //{
- // int a;
- // cout << "Unesite broj: ";
- // cin >> a;
- //
- // f1(&a);
- // system("PAUSE");
- //}
- /*Napravite program tako da iskoristite prototip funkcije:
- void saberi(int *, int *, int *);
- */
- /*Funkcija treba sabrati vrijednosti prva dva parametra i rezultat smjestiti u treći parametar.
- U funkciji main trebate nakon poziva funkcije ispisati rezultat sabiranja.*/
- //*************************************************************************************************************************************************************
- //void saberi(int *a, int*b, int *c)
- //{
- // *c=*a+*b;
- //}
- //void main()
- //{
- // int a=5,b=6,c;
- // saberi (&a, &b, &c);
- // cout <<c;
- // system("PAUSE");
- //}
- /*Prepravite prethodni program (funkciju main) tako da poziv funkcije saberi i ispis vrijednosti sabiranja izvršava sa dodatnim pokazivačem p1 koji
- pokazuje na varijablu c.
- */
- //void saberi(int *a, int*b, int *c)
- //{
- // *c=*a+*b;
- //}
- //void main()
- //{
- // int a=5,b=6,c;
- // int *p1=&c;
- // int *p2=&b;
- // int *p3=&a;
- // saberi (p3, p2, p1);
- // cout <<c<<endl;
- // cout<<*p1<<endl;
- // system("PAUSE");
- //}
- /*a) Napravite program u kojem će te koristiti funkciju void zamjeni(int* p1, int* p2).
- Funkcija treba zamijeniti vrijednosti varijabli koji su joj proslijeđeni kao aktuelni parametri u pozivu.
- */
- //void zamjeni(int* p1, int* p2)
- //{
- // int temp;
- // temp=*p1;
- // *p1=*p2;
- // *p2=temp;
- //}
- //void main()
- //{
- // int a=5, b=7;
- // zamjeni(&a,&b);
- // cout<<a<<" "<<b;
- // system("PAUSE");
- //}
- //8
- /*a) deklarišite pokazivač p1 na int
- b) alocirajte prostor pokazivaču p1 u dinamičkoj memoriji p1 = new int;
- c) učitajte broj sa tastature u prethodno alocirani prostor
- d) inkrementirajte prethodno uneseni broj koristeći pokazivač p1 pomoću operatora ++
- e) definišite i pozovite funkciju promjeni_predznak čiji će formalni parametar biti pokazivač;
- funkcija treba promijeniti predznak broju koji je korisnik unio u koraku c
- f) deklarirajte varijablu d i neka pokazivač p1 pokazuje na varijablu d
- g) dodijelite varijabli d neku vrijednost koristeći pokazivač p1
- h) promijenite predznak varijabli d, koristeći funkciju promjeni_predznak
- i) pozovite ponovo funkciju promjeni_predznak i proslijedite joj kao aktuelni parametar pokazivač p1
- */
- //void promijeniPredznak(int * p1)
- //{
- // *p1=(*p1)*(-1);
- //}
- //void main()
- //{
- // int *p1;//a
- // p1=new int;//b
- // cout<<"Unesite broj: ";
- // cin>>*p1;//c
- // (*p1)++;//d
- // cout<<"Promjena predznaka... "<<endl;
- // promijeniPredznak(p1);
- // cout<<*p1<<endl;//e
- // int d;
- // delete p1;
- // p1=&d;//f
- // *p1=10;//g
- // cout<<*p1<<endl;
- // promijeniPredznak(p1);
- // cout<<*p1<<endl;//h
- // system("PAUSE");
- //
- //}
- /*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.
- */
- //void main()
- //{
- // double niz [10]= { 0.0, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9 };//a
- // cout<<"Memorija double: "<<sizeof(double)<<endl;
- // cout << "Memorija niza: " << sizeof(niz) << endl;//b
- // double *p1;//c
- // p1=&niz[0];
- // p1 = &niz[1];//d
- // cout<<niz[3]<<endl;
- // cout<<p1[2]<<endl;
- // cout<<*(p1+2)<<endl;//e
- // for (int i = 0; i < 10; i++)
- // {
- // cout<<&niz[i]<<endl;//f
- // }
- // for (int i = 0; i < 10; i++)
- // {
- // cout<<p1[i]<<endl;//g
- // }
- // system("PAUSE");
- //}
- /*Napišite program u kojem ćete deklarirari niz od 5 cijelobrojnih elemenata te uz pomoć:
- a) funkcije: void unos (int *, int); omogućiti unos elemenata niza;
- b) funkcije: void ispis (int *, int); omogućiti ispis elemenata niza;
- c) funkcije: int* najveci (int *, int); vratiti adresu najvećeg elementa u nizu; obavezno provjerite je li
- funkcija vratila korektnu adresu.
- d) funkcije: int* arit_sredina (int *, int); vratiti aritmetičku sredinu elemenata u nizu
- */
- //void unos(int * niz, int velicina)
- //{
- // for (int i = 0; i < velicina; i++)
- // {
- // cin>>niz[velicina];
- // }
- //}
- //void ispis(int * niz, int velicina)
- //{
- // for (int i = 0; i < velicina; i++)
- // {
- // cout<<niz[i]<<endl;
- // }
- //}
- //int * najveci(int * niz, int velicina)
- //{
- // int *max=niz;
- // for (int i = 0; i < velicina; i++)
- // {
- // if (niz[i] > *max)
- // {
- // max=&(niz[i]);
- // }
- // }
- // return max;
- //}
- //float * artimetickaSredina(int * niz, int velicina)
- //{
- // int suma=0;
- // for (int i = 0; i < velicina; i++)
- // {
- // suma+=niz[i];
- // }
- // float * p = new float;
- // *p = float(suma) / velicina;
- // return p;
- //
- //}
- //void main()
- //{
- // int niz [5]= { 5,1,9,15,10 };
- // cout<<"unos... "<<endl;
- // unos(niz, 5);
- // cout<<"ispis... "<<endl;
- // ispis(niz,5);
- // int *p1;
- // p1=najveci(niz, 5);
- // cout<<"najveci... "<<endl;
- // cout<<p1<<endl;
- // cout<<*p1<<endl;
- // cout<<&niz[3]<<endl;
- // cout<<"sredina..."<<endl;
- // float *p2 = artimetickaSredina(niz, 4);
- // cout<<*p2<<endl;
- //
- // system("PAUSE");
- //}
- /*Prepravite naredni program tako da funkcija doIt ima sljedeći prototip
- void doIt(Trougao* T1)
- */
- #include <iostream>
- using namespace std;
- struct Tacka
- {
- float x;
- float y;
- };
- struct Kruznica
- {
- Tacka centar;
- float poluprecnik;
- };
- struct Trougao
- {
- Tacka A;
- Tacka B;
- Tacka C;
- };
- void info(Kruznica k)
- {
- cout << "centar O( " << k.centar.x << ", " << k.centar.y << ")";
- cout << "poluprečnik r = " << k.poluprecnik << endl;
- }
- void doIt(Trougao * T1)
- {
- cout << "Unesite x i y za tacku A: ";
- cin >> T1->A.x;
- cin >> T1->A.y;
- cout << "Unesite x i y za tacku B: ";
- cin >> T1->B.x;
- cin >> T1->B.y;
- cout << "Unesite x i y za tacku C: ";
- cin >> T1->C.x;
- cin >> T1->C.y;
- //b
- Kruznica K1;
- K1.centar = T1->A;
- //ili
- K1.centar.x = T1->A.x;
- K1.centar.y = T1->A.y;
- //c
- cout << "Unesite poluprecnik za K1: ";
- cin >> K1.poluprecnik;
- //d
- Kruznica K3 = K1;
- //e
- K3.poluprecnik = K3.poluprecnik * 1.1;
- //ili
- K3.poluprecnik *= 1.1;
- //f
- Kruznica K2 = { T1->B, K3.poluprecnik };
- //ili
- K2.centar = T1->B;
- K2.poluprecnik = K3.poluprecnik;
- info(K1);
- info(K2);
- info(K3);
- }
- void main()
- {
- Trougao T1;
- doIt(&T1);
- system("PAUSE");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement