Professional Documents
Culture Documents
za svaku izdavacku kucu (redak polja = broj komada izdanih knjiga po mjesecima
jedne izdavacke kuce). Stvorite 1d polje prosjecno izdanih knjiga za svaku izdavacku
kucu i za svaki mjesec izracunajte prosjecno izdane knjige i upisite kao zadnji podatak
tog stupca u novom retku. Ispisite 2d i 1d polje. */
#include "stdafx.h"
#include <iostream>
#define M 50
#define N 12
using namespace std;
void main()
{
int br, knjige[M][N], i, j;
float prik[M]={0}, prmj[N]={0};
cout<<"Upisite broj izdavackih kuca:
cin>>br;
";
";
naziv[0]=toupper(naziv[0]);
for(i=0; naziv[i]!='\0'; i++)
if(naziv[i]==' ')
{
razmak++;
naziv[i+1]=toupper(naziv[i+1]);
}
razmak++;
cout<<endl<<endl<<"Upisane ustanove:"<<endl;
for(i=0; i<n; i++)
cout<<ust[i]<<endl;
cout<<endl<<"Najdulji naziv:
"<<naziv<<endl;
cout<<"Broj rijeci naziva:
"<<razmak<<endl<<endl<<endl;
/* U main f-ji ucitajte naziv skole i broj ucenika te skole. U f-ji suma_znakova
pronadjite sumu ASCII kodova upisanog naziva skole, a u f-ji suma znamenaka pronadjite
sumu znamenaka broja ucenika. Zbrojite dobivene sume i u f-ji pretvori pretvorite
dobiveni zbroj u sustav s bazom 17. Ispisite sve. */
#include "stdafx.h"
#include <iostream>
#define M 50
using namespace std;
int suma_znakova(char x[])
{
int suma=0;
for(int i=0; i<strlen(x); i++)
suma+=x[i];
}
return suma;
int suma_znamenaka(int y)
{
int suma=0;
while(y!=0)
{
suma+=y%10;
y/=10;
}
return suma;
}
void pretvori(int z)
{
int ostatak;
if(z>16)
pretvori(z/17);
ostatak=z%17;
if(ostatak>9) cout<<char(ostatak+55);
else cout<<ostatak;
}
void main()
{
char skola[M];
int n, sznak, sznam;
cout<<"Upisite naziv skole:
cin.getline(skola, M-1);
cout<<"Upisite broj ucenika:
cin>>n;
";
";
sznak=suma_znakova(skola);
sznam=suma_znamenaka(n);
/* Z04:
Napisite program koji u f-ji stvara dinamicki niz vozacki u koji se za n kandidata
unose brojevi bodova na vozackom ispitu. U f-ji sortiraj sortirajte padajuci
niz vozacki, a u f-ji prolaz upisite u dinamicki niz prolaze sve brojeve bodova koji
su veci od razlike najveceg i najmanjeg broja bodova. Ispisite nizove vozacki i prolaze.
*/
#include "stdafx.h"
#include <iostream>
using namespace std;
int stvori(int *x, int n)
{
int i, najveci=0;
for(i=0; i<n; i++)
{
cout<<"Upisite broj bodova za "<<i+1<<". kandidata:
cin>>*(x+i);
if(*(x+i)>najveci)
najveci=*(x+i);
}
cout<<endl;
}
return najveci;
";
";
* Z05:
Stvorite 2D dinamicko polje obrt u koji se za n obrtnika unosi broj predstavnistava
i za svako se unosi njegova godisnja zarada. Izracunajte za svaki obrt razliku najvece
i prosjecne zarade i upisite kao drugi podatak u njegovom retku. Ispisite polje obrt. */
#include "stdafx.h"
#include <iostream>
using namespace std;
void stvori(float **x, int n)
{
int i, br;
for(i=0; i<n; i++)
{
cout<<"Upisite broj predstavnistava "<<i+1<<". obrtnika:
cin>>br;
";
x[i]=new float[br+2];
x[i][0]=float(br);
}
}
cout<<endl;
obrtnika:
cout<<endl;
}
}
cout<<endl;
void main()
{
int n;
cout<<"Upisite broj obrtnika:
cin>>n;
cout<<endl;
";
/* Z06:
Stvorite jednostavnu vezanu listu s podacima o stomatoloskim ordinacijama. Podaci:
naziv ordinacije, vlasnik, OIB ordinacije i broj usluga. Napisite u programu sljedece
f-je:
- za dodavanje novog elementa u listu
- za ispis elemenata liste
- za brisanje elemenata liste
Napravite meni izbora i f-ju dodavanja novog elementa u listu birajte proizvoljan broj
puta te nakon toga kod odabira provjere upisanog elementa upisite OIB firme i ako je
element upisan ispisite odgovarajucu poruku, a ako nije pokrenite dodavanje tog elementa
u listu. Upisite OIB firme cije podatke zelite izbrisati i izbrisite podatke ako
postoje, a ako ne postoje ispisite odgovarajucu poruku. Zavrsetak rada ce biti
dealokacijom liste. */
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
struct ord
{
char naziv[30];
char vlasnik[30];
unsigned long int oib;
int usluga;
ord *sljedeci;
};
void unos(ord *glava)
{
ord *tr=glava;
ord *novi=new ord;
novi->sljedeci=NULL;
cout<<"Upisite naziv ordinacije:
";
cin.getline(novi->naziv, sizeof(novi->naziv));
cout<<"Upisite ime vlasnika:
";
cin.getline(novi->vlasnik, sizeof(novi->vlasnik));
cout<<"Upisite OIB ordinacije:
cin>>novi->oib;
cout<<"Upisite broj usluga:
cin>>novi->usluga;
cin.ignore();
cout<<endl;
";
";
while(tr->sljedeci)
tr=tr->sljedeci;
tr->sljedeci=novi;
}
void ispis(ord *glava)
{
ord *tr=glava->sljedeci;
while(tr)
{
cout<<"Naziv ordinacije:
"<<tr->naziv<<endl;
cout<<"Vlasnik:
"<<tr->vlasnik<<endl;
cout<<"OIB:
"<<tr->oib<<endl;
cout<<"Broj usluga:
"<<tr->usluga<<endl<<endl;
tr=tr->sljedeci;
}
";
while(tr)
{
if(tr->oib==oib)
{
pr->sljedeci=tr->sljedeci;
delete tr;
return;
}
pr=pr->sljedeci;
tr=tr->sljedeci;
}
void pretraga(ord *glava)
{
ord *tr=glava->sljedeci;
unsigned long int oib;
int promjena=0;
cout<<"Upisite oib ordinacije koju zelite traziti:
cin>>oib;
";
while(tr)
{
if(tr->oib==oib)
{
cout<<"Ordinacija je upisana!"<<endl<<endl;
promjena=1;
}
}
tr=tr->sljedeci;
if(promjena==0)
{
cout<<"Ordinacija nije upisana, upis:"<<endl;
cin.ignore();
unos(glava);
}
ord *tr=glava->sljedeci;
while(tr)
{
delete pr;
pr=tr;
tr=tr->sljedeci;
}
delete pr;
return NULL;
}
void main()
{
int izbor;
ord *glava=new ord;
glava->sljedeci=NULL;
do
{
}
}
while(izbor!=9);
glava=dealokacija(glava);
10
velicina ap.,
iznajmljen, te
i ispis ukupne mj.
izracunajte i
#include <iostream>
using namespace std;
class apartman
{
private:
int velicina;
float cijena_najma;
int broj_dana;
float ukupna;
public:
void unos();
float zarada();
};
void apartman::unos()
{
cout<<endl<<"Upisite velicinu apartmana:
cin>>velicina;
cout<<"Upisite cijenu najma po danu:
cin>>cijena_najma;
";
";
return ukupna;
11
";
";
cout<<"Upisite izvodjaca:
";
cin.getline(izvodjac, sizeof(izvodjac));
void kuca::ispis()
{
cout<<endl<<"Godina izgradnje:
"<<godina_izgradnje<<endl;
cout<<"Izvodjac:
"<<izvodjac<<endl;
}
//obiteljska kuca
class obiteljska_kuca : public kuca
{
private:
char vlasnik[30];
char adresa[50];
public:
void upis();
void ispis();
};
void obiteljska_kuca::upis()
{
kuca::upis();
cout<<"Upisite vlasnika:
";
cin.getline(vlasnik, sizeof(vlasnik));
cout<<"Upisite adresu:
";
cin.getline(adresa, sizeof(adresa));
}
void obiteljska_kuca::ispis()
{
12
kuca::ispis();
cout<<"Vlasnik:
cout<<"Adresa:
"<<vlasnik<<endl;
"<<adresa<<endl;
//stambena zgrada
class stambena_zgrada : public kuca
{
private:
char adresa[50];
int broj_katova;
int broj_stanova;
public:
void upis();
void ispis();
};
void stambena_zgrada::upis()
{
kuca::upis();
cout<<"Upisite adresu:
";
cin.getline(adresa, sizeof(adresa));
cout<<"Upisite broj katova:
cin>>broj_katova;
";
";
void stambena_zgrada::ispis()
{
kuca::ispis();
cout<<"Adresa:
"<<adresa<<endl;
cout<<"Broj katova:
"<<broj_katova<<endl;
cout<<"Broj stanova:
"<<broj_stanova<<endl;
}
//poslovna zgrada
class poslovna_zgrada : public kuca
{
private:
char naziv_tvrtke[30];
char adresa[50];
public:
void upis();
void ispis();
};
void poslovna_zgrada::upis()
{
kuca::upis();
cout<<"Upisite naziv tvrtke:
";
cin.getline(naziv_tvrtke, sizeof(naziv_tvrtke));
13
cout<<"Upisite adresu:
";
cin.getline(adresa, sizeof(adresa));
}
void poslovna_zgrada::ispis()
{
kuca::ispis();
cout<<"Naziv tvrtke:
"<<naziv_tvrtke<<endl;
cout<<"Adresa:
"<<adresa<<endl;
cout<<endl;
14
/* Z07 - Napisite program koji sadrzi f-ju za stvaranje slogovne datoteke koja sadrzi
slogove sa sljedecim komponentama: ime i prezime manekenke, OIB, visina, tezina,
indikator da/ne je li usla u finale ili ne, i ako je u finalu, upisati rang - prva
pratilja, druga pratilja ili miss. Napisite meni izbora koji ce sadrzavati unos slogova
u datoteku, ispis tih slogova i ispis odabranog sloga prema upisanom OIB-u i izlaz */
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
struct manekenka
{
char ime_prezime[30];
unsigned long int oib;
int visina;
int tezina;
bool finale;
char rang[20];
};
manekenka m;
void unos()
{
fstream d;
char finale;
d.open("D:\manekenka.ini", ios::out | ios::ate | ios::binary);
cout<<endl<<"Upisite ime i prezime manekenke:
";
cin.getline(m.ime_prezime, sizeof(m.ime_prezime));
cout<<"Upisite OIB:
";
cin>>m.oib;
cout<<"Upisite visinu:
";
cin>>m.visina;
cout<<"Upisite tezinu:
";
cin>>m.tezina;
cout<<"Je li manekenka usla u finale (d/n)?
";
cin>>finale;
cin.ignore();
if(finale == 'd')
{
m.finale = true;
cout<<"Upisite rang (prva pratilja, druga pratilja ili miss):
cin.getline(m.rang, sizeof(m.rang));
}
else
m.finale = false;
d.write((char *)&m, sizeof(m));
d.close();
}
void ispis()
{
fstream d;
d.open("D:\manekenka.ini", ios::in | ios::binary);
15
";
while(!d.eof())
{
d.read((char *)&m, sizeof(m));
if(d.eof()) break;
cout<<endl<<"Ime i prezime:
"<<m.ime_prezime<<endl;
cout<<"OIB:
"<<m.oib<<endl;
cout<<"Visina:
"<<m.visina<<endl;
cout<<"Tezina:
"<<m.tezina<<endl;
if(m.finale == true)
{
cout<<"Manekenka je usla u finale."<<endl;
cout<<"Rang:
"<<m.rang<<endl;
}
else
cout<<"Manekenka nije usla u finale."<<endl;
}
cout<<endl;
}
d.close();
void ispis_odabrane()
{
fstream d;
unsigned long int oib;
d.open("D:\manekenka.ini", ios::in | ios::binary);
cout<<endl<<"Upisite OIB manekenke cije podatke zelite ispisati:
cin>>oib;
cin.ignore();
while(!d.eof())
{
d.read((char *)&m, sizeof(m));
if(d.eof()) break;
if(m.oib == oib)
{
cout<<endl<<"Ime i prezime:
"<<m.ime_prezime<<endl;
cout<<"OIB:
"<<m.oib<<endl;
cout<<"Visina:
"<<m.visina<<endl;
cout<<"Tezina:
"<<m.tezina<<endl;
if(m.finale == true)
{
cout<<"Manekenka je usla u finale."<<endl;
cout<<"Rang:
"<<m.rang<<endl;
}
else
cout<<"Manekenka nije usla u finale."<<endl;
d.close();
}
return;
16
";
17
velicina ap.,
iznajmljen, te
i ispis ukupne mj.
izracunajte i
#include "stdafx.h"
#include "apartman.h"
#include <iostream>
using namespace std;
void main()
{
int n;
float ukupna_zarada = 0;
cout<<"Upisite broj apartmana za koje zelite upisati podatke:
cin>>n;
apartman *polje = new apartman[n];
for(int i=0; i<n; i++)
{
polje[i].unos();
cout<<"Ukupna mjesecna zarada apartmana:
ukupna_zarada += polje[i].zarada();
}
cout<<endl<<"Ukupna zarada:
"<<ukupna_zarada;
delete []polje;
polje = NULL;
}
cout<<endl;
18
";
";
/* Z09
kuca - godina izgradnje, izvodjac radova, upis(), ispis()
obiteljska kuca - vlasnik, adresa, upis, ispis
stambena zgrada - adresa, broj katova, broj stanova, upis, ispis
poslovna zgrada - naziv tvrtke, adresa, upis, ispis */
#include "stdafx.h"
#include "kuca.h"
#include <iostream>
using namespace std;
void main()
{
kuca k;
obiteljska_kuca o;
stambena_zgrada s;
poslovna_zgrada p;
cout<<"Upis zgrade:
k.upis();
"<<endl;
"<<endl;
"<<endl;
"<<endl;
cout<<endl;
k.ispis();
o.ispis();
s.ispis();
p.ispis();
}
cout<<endl;
19
/* Za ucitani broj stranaka i ucitani broj izbornih jedinica stvorite 2D polje izbori
(redak polja = broj saborskih mandata
za svaku stranku po izbornim jedinicama). Stvorite 1D polje ukupnog broja saborskih
mandata za svaku stranku i 1D polje prosjecnog broja
saborskih mandata po izbornim jedinicama. Ispisite dobivena polja. */
#include "stdafx.h"
#include <iostream>
#define M 50
#define N 25
using namespace std;
void main()
{
int br_str, br_izb_jed, izbori[M][N], uk_br_str[N]={0}, i, j;
float pr_jed[M]={0.0};
cout<<"Upisi broj stranaka:
";
cin>>br_str;
cout<<"Upisi broj izbornih jedinica:
cin>>br_izb_jed;
cout<<endl;
";
20
/* U main f-ji ucitajte svoje ime, prezime i adresu stanovanja. U f-ji suma pronadjite
sumu
ASCII kodova upisanih podataka, te u f-ji pretvori pretvorite dobivenu sumu u sustav s
bazom 19.
Ispisite sumu i ekvivalent. */
#include "stdafx.h"
#include <iostream>
#define M 50
using namespace std;
int suma(char x[], char y[], char z[])
{
int i, s=0;
for(i=0; i<strlen(x); i++)
s+=x[i];
for(i=0; i<strlen(y); i++)
s+=y[i];
for(i=0; i<strlen(z); i++)
s+=z[i];
return s;
}
int pretvori(int x)
{
int ostatak, p;
if(x>18)
p=pretvori(x/19);
ostatak=x%19;
if(ostatak>9)
p=char(ostatak+55);
else
p=ostatak;
return p;
}
void main()
{
char ime[M], prezime[M], adresa[M];
int s, p;
cout<<"Upisite ime:
";
cin.getline(ime, M-1);
cout<<"Upisite prezime:
";
cin.getline(prezime, M-1);
cout<<"Upisite adresu:
";
cin.getline(adresa, M-1);
cout<<endl;
s=suma(ime,prezime,adresa);
p=pretvori(s);
cout<<"Suma ASCII kodova:
"<<s<<endl;
cout<<"U sustavu s bazom 19:
"<<p<<endl<<endl<<endl;
}
21
";
";
s1=suma_znakova(nt);
s2=suma_znamenaka(bz);
p=pretvori(s1+s2);
cout<<endl<<"Suma znakova naziva:
"<<s1;
cout<<endl<<"Suma znamenaka broja zaposlenih:
cout<<endl<<"Suma sumi u sustavu s bazom 21:
22
"<<s2;
"<<p<<endl<<endl<<endl;
/* Za ucitani broj tiskara stvorite 2D polje mjesecnih tiraza novina za svaku tiskaru
(redak
polja = broj komada tiskanih novina po mjesecima jedne tiskare). Stvorite 1D polje
prosjecno
tiskanih novina za svaku tiskaru i 1D polje pr. tiskanih novina po mjesecima u svim
tiskarama.
Ispisite polja. */
#include "stdafx.h"
#include <iostream>
#define M 50
using namespace std;
void main()
{
int novine[M][12], brt, i, j;
float mjt[M]={0}, tmj[12]={0};
cout<<"Upisite broj tiskara:
cin>>brt;
cout<<endl;
";
23
";
/* U main f-ji ucitajte svoj JMBG i u f-ji suma pronadjite sumu njegovih znamenaka, a u
f-ji
pretvori pretvorite tu sumu u sustav s bazom 12. Ispisite sumu i njen ekvivalent. */
#include "stdafx.h"
#include <iostream>
#include <string>
#define M 15
using namespace std;
int suma(char x[])
{
int s=0;
for(int i=0; x[i]!='\0'; i++)
s+=x[i]-'0';
return s;
}
void pretvori(int x)
{
int ostatak;
if(x>11)
pretvori(x/12);
ostatak=x%12;
if(ostatak>9) cout<<char(ostatak+55);
else cout<<ostatak;
}
void main()
{
char jmbg[M];
int sum, ekv;
cout<<"Upisite JMBG:
";
cin.getline(jmbg, M-1);
cout<<endl;
sum=suma(jmbg);
cout<<"Suma znamenaka:
"<<sum<<endl<<endl;
24
";
/* Stvorite polje od n naziva banaka. Ucitajte naziv za koji zelite provjeriti nalazi li
se u polju.
Ako se nalazi ispisite "Banka je ucitana", a ako ne ispisite "Banke nema". Pronadjite
najdulji
naziv banke i kopirajte je u string najbanka. Pretvorite sva slova najbanke u velika
slova.
Stvorite 1D polje koje ce sadrzavati brojeve rijeci svakog naziva banke. Ispisite polja
i string najbanka. */
#include "stdafx.h"
#include <iostream>
#include <string>
#include <ctype.h>
#define M 50
using namespace std;
void main()
{
int n, i, j, naj=0, p, rijec[M]={0};
char banka[M][M], najbanka[M], provjera[M];
cout<<"Upisite broj naziva banaka:
cin>>n;
cin.ignore();
cout<<endl;
";
";
25
";
rijec[i]++;
}
cout<<"Upisane banke:"<<endl;
for(i=0; i<n; i++)
cout<<"Banka "<<i+1<<":
"<<banka[i]<<endl;
26
"<<najbanka<<endl<<endl<<endl;
/* Ponovo: Ucitajte svoj datum rodjenja u main f-ji. U f-ji max pronadjite najvecu
znamenku u
ucitanom datumu, te u f-ji potencija vrijednost potencije broja x ucitanog u main f-ji
s eksponentom najvece znamenke. Ispisite datum, znamenku i potenciju. */
#include "stdafx.h"
#include <iostream>
using namespace std;
int max(char x[])
{
int z=0;
for (int i=0; x[i]!='\0'; i++)
{
if(isdigit(x[i]))
if(x[i]-'0'>z)
z=x[i]-'0';
}
return z;
}
unsigned long potencija(int x, int y)
{
if(y==0)
return 1;
else
if(y==1)
return x;
else
return x*potencija(x,y-1);
}
void main()
{
char datum[12];
int znam, x;
unsigned long p;
cout<<"Upisite datum rodjenja u formatu DD/MM/GGGG:
cin.getline(datum, 11);
znam=max(datum);
cout<<"Upisite broj:
cin>>x;
";
p=potencija(x,znam);
cout<<"Datum rodjenja:
"<<datum<<endl;
cout<<"Najveca znamenka: "<<znam<<endl;
cout<<x<<" na "<<znam<<": "<<p<<endl<<endl<<endl;
}
27
";
28
";
";
29
";
if(postoji==1)
cout<<"Naziv je prijavljen."<<endl<<endl;
else
cout<<"Naziva nema."<<endl<<endl;
for(i=0; i<brfak; i++)
znakfak[i]=strlen(poljefak[i]);
for(i=0; i<brfak; i++)
cout<<"Naziv "<<i+1<<". fakulteta:
"<<poljefak[i]<<endl;
"<<endl;
cout<<endl<<endl;
cout<<"Fakultet s najduljim nazivom:
"<<fakultet<<endl;
cout<<"Broj rijeci u nazivu tog fakulteta:
"<<razmak+1<<endl<<endl<<endl;
}
30
";
cout<<endl;
ucitaj(A,n);
sortiraj(A,n);
razlika(A,R,n);
ispisi(A,n);
ispisi(R,n);
cout<<endl<<endl;
31
";
";
32
";
stvori(A,n);
stvori(B,n);
zbroji(A,B,C,n);
sortiraj(C,n);
cout<<"Rezultati u prvoj voznji:"<<endl;
ispis(A,n);
cout<<endl<<"Rezultati u drugoj voznji:"<<endl;
ispis(B,n);
cout<<endl<<"Ukupni rezultati:"<<endl;
ispis(C,n);
cout<<endl<<endl;
}
33
34
}
for(i=0; i<brust; i++)
cout<<"Naziv "<<i+1<<". ustanove: "<<naziv[i]<<endl;
cout<<endl<<"Ustanova s najduljim nazivom: "<<ustanova<<endl<<endl;
cout<<"Broj rijeci upisanih ustanova:"<<endl;
for(i=0; i<brust; i++)
cout<<brrijeci[i]<<'\t';
}
cout<<endl<<endl<<endl;
35
* Napisite program koji u funkciji stvara dinamicki niz A u koji se za n studenata unose
brojevi
bodova na ispitu iz Programiranja. U funkciji sortiraj sortirajte padajuci niz A. U
funkciji
pozitivni upisite u dinamicki niz P sve brojeve bodova iz niza A koji su veci od
prosjecnog broja bodova.
Ispisite nizove A i P. */
#include "stdafx.h"
#include <iostream>
using namespace std;
float upisi(float *A, int n)
{
float prosjek=0;
for(int i=0; i<n; i++)
{
cout<<"Upisite broj bodova "<<i+1<<". studenta:
cin>>*(A+i);
prosjek+=*(A+i);
}
prosjek/=n;
return prosjek;
}
void sortiraj(float *A, int n)
{
for(int i=0; i<n; i++)
for(int j=i; j<n; j++)
if(*(A+i)<*(A+j))
{
float temp=*(A+i);
*(A+i)=*(A+j);
*(A+j)=temp;
}
}
int broj_clanova(float *A, int n, float prosjek)
{
int br=0;
for(int i=0; i<n; i++)
if(*(A+i)>prosjek)
br++;
}
return br;
36
";
{
cout<<endl;
for(int i=0; i<n; i++)
cout<<*(A+i)<<'\t';
cout<<endl;
}
void main()
{
int n, m;
float prosjek;
cout<<"Upisite broj studenata:
cin>>n;
cout<<endl;
";
37
";
cout<<endl;
";
x[i][j]=suma/x[i][0];
}
cout<<endl;
}
void ispisi(float **x, int n)
{
int i, j;
cout<<"Postoci ocjene tocno rijesenih zadataka i srednji postotak ocjene za svakog
studenta:"<<endl<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<=x[i][0]+1; j++)
cout<<x[i][j]<<'\t';
}
cout<<endl;
38
cout<<endl;
";
39
cin>>m;
zadatak[i]=new float[m+2];
zadatak[i][0]=float(m+2);
cout<<endl;
}
void upisi(float **zadatak, int n)
{
int i, j;
for(i=0; i<n; i++)
{
float prosjek=0;
for(j=1; j<zadatak[i][0]-1; j++)
{
cout<<"Upisite ocjenu "<<j<<". zadatka "<<i+1<<". studenta:
cin>>zadatak[i][j];
prosjek+=zadatak[i][j];
}
zadatak[i][j]=prosjek/(zadatak[i][0]-2);
cout<<endl;
}
40
";
cout<<zadatak[i][j]<<'\t';
cout<<"| "<<zadatak[i][j]<<endl;
}
}
cout<<endl;
void main()
{
int n;
cout<<"Upisite broj studenata:
cin>>n;
cout<<endl;
";
41
";
";
x->sljedeci=NULL;
}
void ispis(proizvod *x)
{
x=x->sljedeci;
while(x->sljedeci)
{
cout<<"Naziv proizvoda:
"<<x->naziv<<endl;
cout<<"Sifra:
"<<x->sifra<<endl;
cout<<"Kolicina:
"<<x->kolicina<<endl<<endl;
x=x->sljedeci;
}
cout<<"Naziv proizvoda:
"<<x->naziv<<endl;
cout<<"Sifra:
"<<x->sifra<<endl;
cout<<"Kolicina:
"<<x->kolicina<<endl<<endl;
}
void brisi(proizvod *x)
{
42
proizvod *prethodni;
int sifra;
cout<<"Upisite sifru proizvoda koji zelite obrisati:
cin>>sifra;
cout<<endl;
prethodni=x;
x=x->sljedeci;
while(x->sljedeci)
{
if(sifra==x->sifra)
{
proizvod *temp=prethodni->sljedeci;
prethodni->sljedeci=x->sljedeci;
delete temp;
x=prethodni->sljedeci;
break;
}
prethodni=prethodni->sljedeci;
x=prethodni->sljedeci;
}
if(sifra==x->sifra)
{
proizvod *temp=prethodni->sljedeci;
prethodni->sljedeci=x->sljedeci;
delete temp;
}
}
proizvod *dealociraj(proizvod *x)
{
proizvod *temp;
while(x->sljedeci)
{
temp=x;
x=x->sljedeci;
delete temp;
}
delete x;
x=NULL;
return x;
}
void main()
{
proizvod *lista=new proizvod;
lista->sljedeci=NULL;
for(int i=0; i<3; i++)
{
unos(lista);
cout<<endl;
}
cout<<endl<<endl;
ispis(lista);
cout<<endl<<endl;
brisi(lista);
ispis(lista);
}
lista=dealociraj(lista);
43
";
tr->sljedeci=novi;
44
delete pr;
return NULL;
void main()
{
int izbor;
student *glava=new student;
glava->sljedeci=NULL;
do
{
cout<<"IZBORNIK:"<<endl<<endl;
cout<<"1 - upis podataka o novom studentu"<<endl;
cout<<"2 - ispis svih elemenata"<<endl;
cout<<"3 - brisanje zeljenog elementa"<<endl;
cout<<"9 - izlaz"<<endl;
cout<<"Upisite svoj izbor:
";
cin>>izbor;
cout<<endl;
switch(izbor)
{
case 1:
{
dodaj(glava);
break;
}
case 2:
{
ispisi(glava);
45
";
break;
}
case 3:
{
brisi(glava);
break;
}
}
}
while(izbor!=9);
}
glava=dealociraj(glava);
46
47
";
";
float *A;
float *B;
float *C;
A=stvori(A,n);
B=stvori(B,n);
upisi(A,n);
upisi(B,n);
C=zbroji(A,B,C,n);
sortiraj(C,n);
ispisi(C,n);
}
cout<<endl<<endl;
48
/* Napisite program u kojem se stvara 2D dinamicko polje KTT u koje se za ucitani broj
studenata
unose samo bodovi tocno rijesenih zadataka iz kratkih teorijskih testova. Izracunajte za
svakog
studenta zbroj bodova i upisite ga kao zadnji podatak u njegovom redu. Ispisite polje
KTT. */
#include "stdafx.h"
#include <iostream>
using namespace std;
void stvori(float **x, int n)
{
int i, br;
for(i=0; i<n; i++)
{
cout<<"Upisite broj tocno rijesenih zadataka "<<i+1<<". studenta:
cin>>br;
x[i]=new float[br+2];
x[i][0]=float(br);
}
}
";
cout<<endl;
cout<<endl;
}
void ispisi(float **x, int n)
{
int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<=x[i][0]+1; j++)
cout<<x[i][j]<<'\t';
cout<<endl;
}
cout<<endl<<endl;
49
";
}
void dealokacija(float **x, int n)
{
int i;
for(i=0; i<n; i++)
delete []x[i];
delete []x;
x=NULL;
void main()
{
int n;
cout<<"Upisite broj studenata:
cin>>n;
cout<<endl;
";
50
";
proizvod *provjera=trazi(glava,sifra);
if(provjera==NULL)
{
novi->sifra=sifra;
cout<<"Upisite naziv proizvoda:
";
cin.ignore();
cin.getline(novi->naziv, sizeof(novi->naziv));
cout<<"Upisite kolicinu proizvoda:
cin>>novi->kolicina;
while(tr->sljedeci)
tr=tr->sljedeci;
51
";
}
else
tr->sljedeci=novi;
cout<<"Vec postoji proizvod s tom sifrom!"<<endl;
cout<<endl;
}
void ispisi(proizvod *glava)
{
proizvod *tr=glava->sljedeci;
cout<<"ISPIS PROIZVODA:"<<endl;
while(tr)
{
cout<<"Sifra:
"<<tr->sifra<<endl;
cout<<"Naziv:
"<<tr->naziv<<endl;
cout<<"Kolicina:
"<<tr->kolicina<<endl<<endl;
}
tr=tr->sljedeci;
}
void sortiraj(proizvod *glava)
{
int promjena;
proizvod *pr, *tr, *sl;
do
{
promjena=0;
tr=glava->sljedeci;
pr=glava;
while(tr->sljedeci)
{
sl=tr->sljedeci;
if(tr->sifra > sl->sifra)
{
pr->sljedeci=sl;
tr->sljedeci=sl->sljedeci;
sl->sljedeci=tr;
promjena=1;
break;
}
pr=tr;
tr=tr->sljedeci;
}
}
while(promjena==1);
52
int sifra;
cout<<"BRISANJE:"<<endl;
cout<<"Upisite sifru proizvoda kojeg zelite izbrisati:
cin>>sifra;
cout<<endl;
while(tr)
{
if(tr->sifra==sifra)
{
pr->sljedeci=tr->sljedeci;
delete tr;
return;
}
pr=tr;
tr=tr->sljedeci;
}
53
";
switch(izbor)
{
case 1:
{
upisi(glava);
break;
}
case 2:
{
ispisi(glava);
break;
}
case 3:
{
sortiraj(glava);
break;
}
case 4:
{
cout<<"PRETRAGA:"<<endl;
cout<<"Upisite sifru proizvoda:
";
cin>>sifra;
pretraga=trazi(glava,sifra);
if(pretraga==NULL)
cout<<"Proizvod nije pronadjen!"<<endl<<endl;
else
{
cout<<"Naziv:
"<<pretraga->naziv<<endl;
cout<<"Kolicina:
"<<pretraga->kolicina<<endl<<endl;
}
break;
}
case 5:
{
brisi(glava);
break;
}
case 6:
{
glava=dealociraj(glava);
break;
}
}
}
while(izbor!=9);
cout<<endl<<endl;
}
54
#include "stdafx.h"
#include <iostream>
using namespace std;
float upisi(float *x, int n)
{
int i;
float prosjek=0;
for(i=0; i<n; i++)
{
cout<<"Upisite godisnju zaradu "<<i+1<<". zaposlenika:
cin>>*(x+i);
prosjek+=*(x+i);
}
prosjek/=n;
cout<<endl;
return prosjek;
}
void sortiraj(float *x, int n)
{
int i, j;
for(i=0; i<n; i++)
for(j=i+1; j<n; j++)
if(*(x+i)>*(x+j))
{
float temp=*(x+i);
*(x+i)=*(x+j);
*(x+j)=temp;
}
}
int vecih(float *x, int n, float prosjek)
{
int i, br=0;
for(i=0; i<n; i++)
if(*(x+i)>prosjek)
br++;
return br;
}
void zarada(float *x, int n, float *y, float prosjek)
{
int i, j=0;
for(i=0; i<n; i++)
if(*(x+i)>prosjek)
{
*(y+j)=*(x+i);
j++;
55
";
}
}
void ispisi(float *x, int n)
{
int i;
for(i=0; i<n; i++)
cout<<*(x+i)<<'\t';
cout<<endl;
}
void main()
{
int n, brz;
float prosjek;
cout<<"Upisite broj zaposlenika:
cin>>n;
cout<<endl;
";
56
";
x[i]=new float[br+3];
}
x[i][0]=float(br);
cout<<endl;
}
void upis(float **x, int n)
{
int i, j;
float zbroj;
for(i=0; i<n; i++)
{
zbroj=0;
for(j=1; j<=x[i][0]; j++)
{
cout<<"Upisite broj ucenika "<<j<<". skole "<<i+1<<". grada:
cin>>x[i][j];
}
zbroj+=x[i][j];
x[i][j]=zbroj;
x[i][j+1]=zbroj/x[i][0];
}
cout<<endl;
}
void ispis(float **x, int n)
{
int i, j;
for(i=0; i<n; i++)
{
for(j=0; j<x[i][0]+3; j++)
cout<<x[i][j]<<'\t';
57
";
cout<<endl;
}
";
cout<<endl<<endl;
58
";
";
59
";
"<<poljefak[i]<<endl;
"<<endl;
cout<<endl<<endl;
cout<<"Fakultet s najduljim nazivom:
"<<fakultet<<endl;
cout<<"Broj rijeci u nazivu tog fakulteta:
"<<razmak+1<<endl<<endl<<endl;
}
60
";
cout<<"Upisite kategoriju:
cin>>novi->kategorija;
cout<<"Upisite broj soba:
cin>>novi->soba;
";
";
while(tr->sljedeci)
tr=tr->sljedeci;
tr->sljedeci=novi;
}
cout<<endl;
61
tr=tr->sljedeci;
}
void provjera(hotel *glava)
{
int sifra, provjera=0;
hotel *tr=glava->sljedeci;
cout<<"Upisite sifru hotela za provjeru:
cin>>sifra;
";
while(tr)
{
if(tr->sifra==sifra)
{
cout<<"Hotel je upisan!"<<endl;
provjera=1;
break;
}
}
tr=tr->sljedeci;
if(provjera==0)
{
hotel *tr=glava;
hotel *novi=new hotel;
novi->sljedeci=NULL;
novi->sifra=sifra;
cout<<"Upisite naziv hotela:
";
cin.ignore();
cin.getline(novi->naziv, sizeof(novi->naziv));
cout<<"Upisite kategoriju:
cin>>novi->kategorija;
cout<<"Upisite broj soba:
cin>>novi->soba;
";
";
while(tr->sljedeci)
tr=tr->sljedeci;
tr->sljedeci=novi;
}
cout<<endl;
}
void brisanje(hotel *glava)
{
int sifra;
hotel *pr=glava;
hotel *tr=glava->sljedeci;
cout<<"Upisite sifru hotela koji zelite izbrisati:
cin>>sifra;
62
";
while(tr)
{
if(tr->sifra==sifra)
{
pr->sljedeci=tr->sljedeci;
delete tr;
return;
}
pr=tr;
tr=tr->sljedeci;
}
hotel *dealociraj(hotel *glava)
{
hotel *pr=glava;
hotel *tr=glava->sljedeci;
while(tr)
{
delete pr;
pr=tr;
tr=tr->sljedeci;
}
delete pr;
}
return NULL;
void main()
{
hotel *glava=new hotel;
glava->sljedeci=NULL;
for(int i=0; i<5; i++)
upis(glava);
ispis(glava);
provjera(glava);
brisanje(glava);
ispis(glava);
glava=dealociraj(glava);
}
63
/* Napisite program koji sadrzi funkciju za stvaranje slogovne datoteke cije ime se
ucitava i koja
sadrzi slogove s komponentama maticni broj studenta, prezime i ime studenta i godina
upisa. Napisite
funkciju za unos podataka u datoteku i funkciju za ispis podataka o svim studentima. */
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
struct student
{
int mat_br;
char ime_prez[35];
int god_up;
};
student s;
char naziv_datoteke[40];
void stvaranje_datoteke()
{
fstream d;
cout<<"Upisite naziv datoteke u koju zelite pohraniti podatke:
cin.getline(naziv_datoteke, sizeof(naziv_datoteke));
";
cout<<"Maticni broj:
cin>>s.mat_br;
cin.ignore();
";
cout<<"Prezime i ime:
";
cin.getline(s.ime_prez, sizeof(s.ime_prez));
cout<<"Godina upisa studija:
cin>>s.god_up;
";
64
}
while(dalje == 'd');
d.close();
}
void ispis_podataka()
{
fstream d;
d.open(naziv_datoteke, ios::in | ios::binary);
while(!d.eof())
{
d.read((char *) &s, sizeof(s));
if(d.eof()) break;
cout<<"Maticni broj:
cout<<"Prezime i ime:
cout<<"Godina upisa:
"<<s.mat_br<<endl;
"<<s.ime_prez<<endl;
"<<s.god_up<<endl;
d.close();
}
void main()
{
stvaranje_datoteke();
unos_podataka();
ispis_podataka();
}
65
/* Napisite program koji sadrzi klasu domjenak ciji su clanovi: naziv jela, cijena jela,
kolicina jela
i metoda unos() za ucitavanje svih podataka i metoda iznos() za racunanje i ispisivanje
konacne
cijene za taj naziv jela. Alocirajte dinamicko polje od n objekata domjenak i
izracunajte i ispisite
konacnu cijenu racuna za taj domjenak. */
#include "stdafx.h"
#include "domjenak.h"
#include <iostream>
using namespace std;
void main()
{
int n;
float r=0;
cout<<"Koliko jela zelite unijeti?
cin>>n;
";
"<<r<<" kn"<<endl;
delete []polje;
polje = NULL;
}
66
"<<endl;
cout<<endl<<"Unos udzbenika:
u.unos();
cout<<endl<<"Unos romana:
r.unos();
"<<endl;
"<<endl;
cout<<endl<<"Unos monografije:
m.unos();
"<<endl;
cout<<endl;
k.ispis();
u.ispis();
r.ispis();
m.ispis();
}
cout<<endl;
67
/* Napisite program koji sadrzi funkciju za stvaranje slogovne datoteke cije se ime
ucitava i koja
sadrzi slogove s komponentama: naziv skijalista, broj staza, duljina svih staza i
indikator da/ne
sluzi li skijaliste za odrzavanje svjetskih prvenstava ili ne. Napisite funkciju za unos
slogova u
datoteku, funkciju za ispis svih slogova iz datoteke i funkciju za ispis odabranog sloga
prema upisanom
nazivu skijalista. */
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct skijaliste
{
char naziv[30];
int broj_staza;
int duljina_staza;
bool svjetsko;
};
char naziv_dat[60];
skijaliste s;
void stvori()
{
fstream d;
cout<<"Upisite naziv datoteke u koju zelite upisivati podatke:
cin.getline(naziv_dat, sizeof(naziv_dat));
";
}
void unos()
{
fstream d;
char dalje, svjetsko;
d.open(naziv_dat, ios::out | ios::ate | ios::binary);
do
{
cout<<endl<<"Naziv skijalista:
";
cin.getline(s.naziv, sizeof(s.naziv));
68
cout<<"Broj staza:
cin>>s.broj_staza;
";
";
";
";
}
while(dalje == 'd');
d.close();
}
void ispis_svih()
{
fstream d;
d.open(naziv_dat, ios::in | ios::binary);
while(!d.eof())
{
d.read((char *) &s, sizeof(s));
if(d.eof()) break;
cout<<endl<<"Naziv skijalista:
"<<s.naziv<<endl;
cout<<"Broj staza:
"<<s.broj_staza<<endl;
cout<<"Ukupna duljina staza:
"<<s.duljina_staza<<endl;
if(s.svjetsko == true)
cout<<"Skijaliste sluzi za odrzavanje svjetskih prvenstava."<<endl;
else
cout<<"Skijaliste ne sluzi za odrzavanje svjetskih prvenstava."<<endl;
d.close();
}
void ispis_odabranog()
{
fstream d;
char odabrani[30];
d.open(naziv_dat, ios::in | ios::binary);
cout<<endl<<"Upisite naziv skijalista cije podatke zelite ispisati:
cin.getline(odabrani, sizeof(odabrani));
while(!d.eof())
{
d.read((char *) &s, sizeof(s));
69
";
if(d.eof()) break;
if(strcmp(s.naziv, odabrani) == 0)
{
cout<<endl<<"Naziv skijalista:
"<<s.naziv<<endl;
cout<<"Broj staza:
"<<s.broj_staza<<endl;
cout<<"Ukupna duljina staza:
"<<s.duljina_staza<<endl;
if(s.svjetsko == true)
cout<<"Skijaliste sluzi za odrzavanje svjetskih
prvenstava."<<endl;
else
cout<<"Skijaliste ne sluzi za odrzavanje svjetskih
prvenstava."<<endl;
d.close();
return;
}
void main()
{
stvori();
unos();
ispis_svih();
ispis_odabranog();
}
cout<<endl;
70
/* Napisite program koji sadrzi klasu kupnja ciji su clanovi naziv robe, kod robe,
cijena robe, kolicina
robe te metoda unos() za ucitavanje svih podataka i metoda iznos() za racunanje i
ispisivanje konacne
cijene za taj naziv_robe. Alocirajte dinamicko polje od n objekata kupnja i izracunajte
i ispisite
konacnu cijenu racuna za tih n kupnji. */
#include "stdafx.h"
#include <iostream>
#include "kupnja.h"
using namespace std;
void main()
{
int n;
float cijena;
cout<<"Upisite broj artikala koje zelite unijeti:
cin>>n;
cin.ignore();
kupnja *k = new kupnja[n];
";
"<<cijena<<endl<<endl;
}
/* Namjestaj, ormar, lezaj, stolica. */
#include "stdafx.h"
#include <iostream>
#include "namjestaj.h"
using namespace std;
void main()
{
namjestaj n;
ormar o;
lezaj l;
stolica s;
cout<<"Upis namjestaja:"<<endl;
n.upis();
cout<<endl;
cout<<"Upis ormara:"<<endl;
o.upis();
cout<<endl;
cout<<"Upis lezaja:"<<endl;
l.upis();
71
cout<<endl;
cout<<"Upis stolice:"<<endl;
s.upis();
cout<<endl<<endl;
cout<<"Ispis namjestaja:"<<endl;
n.ispis();
cout<<endl;
cout<<"Ispis ormara:"<<endl;
o.ispis();
cout<<endl;
cout<<"Ispis lezaja:"<<endl;
l.ispis();
cout<<endl;
cout<<"Ispis stolice:"<<endl;
s.ispis();
cout<<endl<<endl;
}
72
/* Napisite program koji sadrzi funkciju za stvaranje slogovne datoteke cije se ime
ucitava i koja
sadrzi slogove s komponentama: naziv turistickog mjesta, broj hotela, broj apartmana i
indikator
da/ne organizira li se docek Nove Godine na otvorenom ili ne. Napisite f-ju za unos
slogova u
datoteku, za ispis svih slogova iz datoteke i za ispis odabranog sloga prema upisanom
nazivu mjesta. */
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct mjesto
{
char naziv[30];
int broj_hotela;
int broj_apartmana;
bool docek;
};
char naziv_datoteke[50];
mjesto m;
void stvori()
{
fstream d;
cout<<"Upisite naziv datoteke u koju zelite unijeti podatke:
cin.getline(naziv_datoteke, sizeof(naziv_datoteke));
d.open(naziv_datoteke, ios::in | ios::binary);
if(d)
{
cout<<"Datoteka vec postoji na disku!"<<endl;
d.close();
}
else
{
void unesi()
{
fstream d;
char dalje;
char docek;
d.open(naziv_datoteke, ios::out | ios::ate | ios::binary);
do
{
73
";
";
";
";
";
}
while(dalje == 'd');
d.close();
}
void ispisi_sve()
{
fstream d;
d.open(naziv_datoteke, ios::in | ios::binary);
while(!d.eof())
{
d.read((char *)&m, sizeof(m));
if(d.eof()) break;
cout<<endl<<"Naziv:
"<<m.naziv<<endl;
cout<<"Broj hotela:
"<<m.broj_hotela<<endl;
cout<<"Broj apartmana:
"<<m.broj_apartmana<<endl;
if(m.docek == true)
cout<<"Organizira se docek Nove Godine na otvorenom."<<endl;
else
cout<<"Ne organizira se docek Nove Godine na otvorenom."<<endl;
}
}
d.close();
void ispisi_odabrani()
{
fstream d;
char odabrani[30];
cout<<endl<<"Upisite naziv mjesta za koje zelite ispisati podatke:
cin.getline(odabrani, sizeof(odabrani));
d.open(naziv_datoteke, ios::in | ios::binary);
while(!d.eof())
{
d.read((char *)&m, sizeof(m));
74
";
if(d.eof()) break;
if(strcmp(m.naziv, odabrani) == 0)
{
cout<<"Naziv:
"<<m.naziv<<endl;
cout<<"Broj hotela:
"<<m.broj_hotela<<endl;
cout<<"Broj apartmana:
"<<m.broj_apartmana<<endl;
if(m.docek == true)
cout<<"Organizira se docek Nove Godine na otvorenom."<<endl;
else
cout<<"Ne organizira se docek Nove Godine na otvorenom."<<endl;
d.close();
return;
}
cout<<"Ne postoji mjesto s tim nazivom!"<<endl;
}
d.close();
void main()
{
stvori();
unesi();
ispisi_sve();
ispisi_odabrani();
}
cout<<endl;
75
/* Napisite program koji sadrzi klasu nabava ciji su clanovi vrsta racunala, kod
racunala, cijena
racunala, pdv, kolicina racunala, te metoda unos() za ucitavanje svih podataka i metoda
iznos() za
racunanje i ispisivanje konacne cijene za tu vrstu racunala. Alocirajte dinamicko polje
od n objekata
nabava i izracunajte i ispisite konacnu cijenu racuna za cjelokupnu nabavu. */
#include "stdafx.h"
#include <iostream>
#include "nabava.h"
using namespace std;
void main()
{
int n;
float konacna_cijena = 0;
cout<<"Upisite broj vrsta racunala:
cin>>n;
cin.ignore();
";
";
"<<konacna_cijena<<endl;
delete []polje;
polje = NULL;
}
/* Nasljedjivanje: kuca, obiteljska_kuca, poslovna_zgrada, stambena_zgrada. */
#include "stdafx.h"
#include <iostream>
#include "kuca.h"
using namespace std;
void main()
{
kuca k;
obiteljska_kuca o;
poslovna_zgrada p;
stambena_zgrada s;
cout<<"Upis podataka o kuci:"<<endl;
k.upis();
cout<<endl<<"Upis podataka o obiteljskoj kuci:"<<endl;
o.upis();
cout<<endl<<"Upis podataka o poslovnoj zgradi:"<<endl;
p.upis();
cout<<endl<<"Upis podataka o stambenoj zgradi:"<<endl;
76
s.upis();
cout<<endl<<"Ispis podataka o kuci:"<<endl;
k.ispis();
cout<<endl<<"Ispis podataka o obiteljskoj kuci:"<<endl;
o.ispis();
cout<<endl<<"Ispis podataka o poslovnoj zgradi:"<<endl;
p.ispis();
cout<<endl<<"Ispis podataka o stambenoj zgradi:"<<endl;
s.ispis();
cout<<endl;
}
77
/* U main funkciji ucitajte svoj datum rodjenja. U funkciji max pronadjite najvecu
znamenku
u ucitanom datumu rodjenja, te u funkciji potencija pronadjite vrijednost potencije
broja x
ucitanog u main funkciji s eksponentom najvece znamenke dobivene iz funkcije max.
Ispisite datum rodjenja, najvecu znamenku i vrijednost potencije. */
#include "stdafx.h"
#include <iostream>
using namespace std;
int max(long x);
long potencija(int x, int y);
void main()
{
long datum;
int znam, br;
cout<<"Upisite svoj datum rodjenja u formatu DDMMGGGG:
cin>>datum;
cout<<endl;
znam=max(datum);
cout<<"Upisi broj:
cin>>br;
";
return najveca;
78
";
/* Upisite naziv fakulteta i u funkciji suma pronadjite sumu ASCII kodova upisanog
naziva
fakulteta, te u funkciji pretvori pretvorite dobivenu sumu u sustav s bazom 19. Ispisite
dobivenu sumu
i njen ekvivalent u sustavu s bazom 19. */
#include "stdafx.h"
#include <iostream>
#include <string>
#define M 50
using namespace std;
int suma(char n[]);
void pretvori(int s);
void main()
{
char fakultet[M];
int s;
cout<<"Upisite naziv fakulteta:
cin.getline(fakultet, M-1);
cout<<endl;
";
s=suma(fakultet);
cout<<"Suma ASCII kodova upisanog naziva:
cout<<"Ekvivalent u sustavu s bazom 19:
pretvori(s);
cout<<endl<<endl<<endl;
}
int suma(char n[])
{
int s=0;
for(int i=0; i<strlen(n); i++)
s+=n[i];
}
return s;
void pretvori(int s)
{
int ostatak;
if(s>18)
pretvori(s/19);
ostatak=s%19;
if(ostatak>9) cout<<char(ostatak+55);
else cout<<ostatak;
}
79
"<<s<<endl<<endl;
";
/* Ucitajte svoj datum upisa studija u main funkciji. U funkciji suma pronadjite sumu
znamenaka
koje se pojavljuju u ucitanom datumu, te u funkciji potencija pronadjite vrijednost
potencije
dobivene sume s eksponentom x ucitanim u main funkciji. Ispisite datum upisa, dobivenu
sumu
i vrijednost potencije. */
#include "stdafx.h"
#include <iostream>
#include <ctype.h>
using namespace std;
int suma(char d[])
{
int s=0, i=0;
while(d[i])
{
if(isdigit(d[i]))
s+=(d[i]-'0');
i++;
}
return s;
}
unsigned long potencija(int s, int x)
{
if(x==0)
return 1;
else
if(x==1)
return s;
else
return s*potencija(s, x-1);
}
void main()
{
char datum[12];
int sum, x;
unsigned long pot;
cout<<"Upisite datum upisa studija u formatu DD/MM/GGGG:
cin.getline(datum, 11);
cout<<endl;
sum=suma(datum);
cout<<"Upisite eksponent:
cin>>x;
cout<<endl;
";
pot=potencija(sum,x);
cout<<"Datum upisa studija:
"<<datum<<endl;
cout<<"Suma znamenaka datuma: "<<sum<<endl;
cout<<x<<"-ta potencija sume: "<<pot<<endl<<endl<<endl;
}
80
";
/* Napisite program koji racuna dzeparce za clanove obitelji u jednoj godini. Potrebno
je
upisati broj clanova obitelji i za svakog clana upisati iznose dzeparca za 12 mjeseci, a
nakon toga
izracunati prosjecni dzeparac za pojedinu osobu i pojedini mjesec. */
#include "stdafx.h"
#include <iostream>
#define M 10
using namespace std;
void main()
{
float pros[M]={0}, prmj[12]={0};
int dzep[M][12], brcl, i, j;
cout<<"Upisite broj clanova obitelji (1-10):
cin>>brcl;
cout<<endl;
";
81
/* Napisite program koji sadrzi funkciju za stvaranje polja pismeni koje sadrzi bodove
iz nekog ispita
za n studenata. Stvorite polje p koje ce sadrzavati samo one bodove koji su veci od 45.
Sortirajte niz p
silazno i ispisite ga. */
#include "stdafx.h"
#include <iostream>
#define M 100
using namespace std;
void stvori(int pismeni[], int n)
{
int i;
for(i=0; i<n; i++)
{
cout<<"Upisite bodove za "<<i+1<<". studenta:
cin>>pismeni[i];
}
}
int vecih(int pismeni[], int n)
{
int i, brojac=0;
for(i=0; i<n; i++)
if(pismeni[i]>45)
brojac++;
return brojac;
}
void main()
{
int pismeni[M], p[M], n, i, j=0, veci, temp;
cout<<"Upisite broj studenata:
cin>>n;
cout<<endl;
stvori(pismeni,n);
for(i=0; i<n; i++)
if(pismeni[i]>45)
{
p[j]=pismeni[i];
j++;
}
veci=vecih(pismeni,n);
";
82
";
";
83
";
";
br++;
for(i=0; i<br; i++)
{
pozicija=brojac;
biblio[pozicija]=toupper(biblio[pozicija]);
for(j=pozicija+1; biblio[j]!=' '; j++)
brojac++;
brojac+=2;
}
for(i=0; i<n; i++)
brzn[i]=strlen(nazivb[i]);
cout<<"Upisane biblioteke:"<<endl;
for(i=0; i<n; i++)
cout<<"Biblioteka "<<i+1<<":
cout<<endl<<endl;
"<<nazivb[i]<<endl;
84