You are on page 1of 5

Programiranje 28.09.2012.

1. Napiši program: 20% Obavezno riješiti!


- deklariraj 4 cjelobrojne varijable (a,b,c,i)
- deklariraj varijablu suma i postavi je na 0 (float)
- deklariraj polje p (elementi float) sa sljededim vrijednostima: {2.2,3.3,4.4,5.5,6.6,7.7}
- Unesi tri vrijednosti za varijable a, b i c (cin)
- ispitaj je li a vedi od b i od c i ispiši:
Uneseni a je veci od b i od c
ili ako nije ispiši:
Uneseni a nije veci od b i od c
- Primjenom for petlje zbroji elemente polja i ispiši sumu
- Primjenom while petlje ispiši sve elemente polja.
Ispis izgleda:
Unesi a: 3
Unesi b: 2
Unesi c: 4
Vi ste unijeli a=3 b=2 c=4
Uneseni a nije veci od b i od c
Suma elemenata polja=29.7
element p[0]=2.2
element p[1]=3.3
element p[2]=4.4
element p[3]=5.5
element p[4]=6.6
element p[5]=7.7
Press any key to continue . . .

2. Napisati funkciju za računanje faktorijele broja, te u glavnom programu pozvati funkciju i izračunati
k  k!
   za k=7 i n=2. 25%
 n  (k  n)!*n!

3. Napisati funkciju koja pretvara međusobno stupnjeve Celsiusa, Kelvina i Fahrenheita.


(T(F)=9/5*T(C)+32), T(K)=273+ T(C))! Izvršiti 3 funkcijska poziva: 30%
1. prvi funkcijski poziv za T(C)=37, Ispiši sve tri temperature!
2. drugi funkcijski poziv za T(K)=310, Ispiši sve tri temperature!
3. tredi funkcijski poziv za T(F)=98.6, Ispiši sve tri temperature!
Pojašnjenje: U funkciji koristi tri argumenta (prijenos po referenci) za tri temperature (Cels., Kelvini i
Fahr.) i još jedan 4. argument koji govori koju pretvorbu želimo raditi (prijenos po vrijednosti)!

4. Deklarirati klasu otpornik koja ima private članove R1 i R2 (int). Također klasa sadrži dva funkcijska
člana za računanje serijskog i paralelnog spoja ova dva otpornika. U glavnom program izvršiti pozive
funkcija za vrijednosti otpornika R1 i R2 od 4 k. 25%

Ispit traje 60 min.! Kriterij: 


nedovoljan (1) 0,0 49,9
dovoljan (2) 50,0 62,4
dobar (3) 62,5 74,9
vrlo dobar (4) 75,0 87,4
izvrstan (5) 87,5 100,0
Programiranje 28.09.2012.

Rješenja:
Zad 1:
#include <iostream>
using namespace std;

void main ()
{
int a,b,c;
float suma=0;
int i;
float p[]={2.2,3.3,4.4,5.5,6.6,7.7};
cout<<"\n Unesi a: ";
cin>>a;
cout<<"\n Unesi b: ";
cin>>b;
cout<<"\n Unesi c: ";
cin>>c;
cout<<"\n Vi ste unijeli a="<<a<<" b="<<b<<" c="<<c;
if ((a>b) && (a>c))
cout<<"\n Uneseni a je veci od b i od c";
else
cout<<"\n Uneseni a nije veci od b i od c";

for (i=0;i<6;i++)
{
suma+=p[i];
}
cout<<"\n Suma elemenata polja="<<suma;
i=0;
while (i<6) {
cout<<"\n element p["<<i<<"]="<<p[i];
i++;
}
}

2.
// sortiranje bubble sort
#include <iostream>
using namespace std;
#include <stdlib.h>

void ispisi_polje(int a[], int n)


{
int i;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
cout<<"\n";
}

void sort_polje(int a[], int n)


{
int temp, i, j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if (a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
Programiranje 28.09.2012.

double faktorijela (int a)


{
if (a > 1)
return (a * faktorijela (a-1));
else
return (1);
}

int main ()
{
double c;
int a[]={16, 2, 49, 13, 77, 1, 99, 8};
cout<<"ISPISI NESORTIRANO POLJE: \n";
ispisi_polje(a,8);
sort_polje(a,8); //Sortiraj elemente polja
cout<<"ISPI SORTIRANO POLJE: \n";
ispisi_polje(a,8);
c=faktorijela(7)/(faktorijela(5)*faktorijela(2));
cout<<"k povrh n je:"<<c<<"\n";

return 0;
}
3.
#include <iostream>
using namespace std;

//Deklaracija i definicija funkcije


void pretvorba (float &fuc, float &fuk, float &fuf, char p)
{
if(p=='c') //Pretvaranje iz C u K i F
{
fuk=273+fuc;
fuf=(9*fuc)/5+32;
}
else if (p=='k') //Pretvaranje iz K u C i F
{
fuc=fuk-273;
fuf=(9*fuc)/5+32;
}
else if (p=='f')//Pretvaranje iz F u C i K
{
fuc=((fuf-32)*5)/9;
fuk=273+fuc;
}
else
cout<<"POGRESNA PRETVORBA!!!\n";
}

void main()
{
float c=0, k=0, f=0;
char par;
cout<<"\nUnesi temperaturu u stupnjevima C=";
cin>>c;
cout<<"\nUnesi vrstu pretvorbe (unesi malo c)";
cin>>par;
pretvorba(c,k,f,par);
cout<<"\nTemperatura u C="<<c<<"\n";
Programiranje 28.09.2012.

cout<<"\nTemperatura u K="<<k<<"\n";
cout<<"\nTemperatura u F="<<f<<"\n";
cout<<"\nUnesi temperaturu u stupnjevima K=";
cin>>k;
cout<<"\nUnesi vrstu pretvorbe (unesi malo k)";
cin>>par;
pretvorba(c,k,f,par);
cout<<"\nTemperatura u C="<<c<<"\n";
cout<<"\nTemperatura u K="<<k<<"\n";
cout<<"\nTemperatura u F="<<f<<"\n";
cout<<"\nUnesi temperaturu u stupnjevima F=";
cin>>f;
cout<<"\nUnesi vrstu pretvorbe (unesi malo f)";
cin>>par;
pretvorba(c,k,f,par);
cout<<"\nTemperatura u C="<<c<<"\n";
cout<<"\nTemperatura u K="<<k<<"\n";
cout<<"\nTemperatura u F="<<f<<"\n";
}

Unesi temperaturu u stupnjevima C=37


Unesi vrstu pretvorbe (unesi malo c)c
Temperatura u C=37
Temperatura u K=310
Temperatura u F=98.6
Unesi temperaturu u stupnjevima K=310
Unesi vrstu pretvorbe (unesi malo k)k
Temperatura u C=37
Temperatura u K=310
Temperatura u F=98.6
Unesi temperaturu u stupnjevima F=98.6
Unesi vrstu pretvorbe (unesi malo f)f
Temperatura u C=37
Temperatura u K=310
Temperatura u F=98.6
Press any key to continue . . .

double faktorijela (int a)


{
if (a > 1)
return (a * faktorijela (a-1));
else
return (1);
}

int main ()
{
double c;
int a[]={16, 2, 49, 13, 77, 1, 99, 8};
cout<<"ISPISI NESORTIRANO POLJE: \n";
ispisi_polje(a,8);
sort_polje(a,8); //Sortiraj elemente polja
cout<<"ISPI SORTIRANO POLJE: \n";
ispisi_polje(a,8);
c=faktorijela(7)/(faktorijela(5)*faktorijela(2));
cout<<"k povrh n je:"<<c<<"\n";
Programiranje 28.09.2012.

return 0;
}

ISPISI NESORTIRANO POLJE:


16 2 49 13 77 1 99 8
ISPI SORTIRANO POLJE:
1 2 8 13 16 49 77 99
k povrh n je:21
Press any key to continue . . .

You might also like