seminarski rad rijeseni primjeri c++ ognje kostic.docx

46
PANEVROPSKI UNIVERZITET APEIRON FAKULTET INFORMACIONIH TEHNOLOGIJA Smjer „Poslovna informatika“ Predmet Viši programski jezici i RAD alati programiranje u C++ „RIJEŠENI PRIMJERI“ (seminarski rad) Predmetni nastavnik Prof. dr Zoran Ž. Avramović, dipl.inž.elek. Student Ognjen Kostić

Upload: ognjen-kostic

Post on 10-Apr-2016

135 views

Category:

Documents


20 download

TRANSCRIPT

Page 1: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

PANEVROPSKI UNIVERZITET APEIRONFAKULTET INFORMACIONIH

TEHNOLOGIJA

Smjer „Poslovna informatika“

PredmetViši programski jezici i RAD alati programiranje u C++

„RIJEŠENI PRIMJERI“(seminarski rad)

Predmetni nastavnikProf. dr Zoran Ž. Avramović, dipl.inž.elek.

StudentOgnjen Kostić

Index br. 032-_08/_RIT

Banja Luka, 2014. godina

Page 2: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Sadržaj

1. Uvod............................................................................................................................................4

1.2 Struktura Programa....................................................................................................................4

2. Riješeni primjeri..........................................................................................................................6

2.1 Poređenje dva broja...................................................................................................................6

2.2 Izračunati starost studenta na osnovu godine rođenja i trenutne godine...................................7

2.3 Kombinovanje stringova............................................................................................................8

2.3 Ispisati tablicu množenja brojeva od 1 do 10. Rezultat treba biti u kolonama.........................9

2.4 Napisati program koji provjerava da li je uneseni broj veći od 100 i da li je paran................10

2.5 Ispisati brojeve od 1 do 20 koristeći for petlju........................................................................11

2.6 Treba ispisati tablicu množenja odabranog broja sa brojevima od 1 do 10.............................12

2.7 Napisati program koji ispisuje parne brojeve u intervalu od 50 do 100..................................13

2.8 Napisati program koji ispisuje brojeve djeljive nekim brojem u zadanom intervalu, i to tako da korisnik unese početak i kraj intervala, kao i broj kojim se provjerava djeljivost....................14

2.9 Treba unijeti N realnih brojeva pa izračunati njihovu srednju vrijednost. Unos brojeva traje sve dok korisnik ne upiše 0............................................................................................................15

2.10 Napisati program koji ispisuje sve trocifreni Amstrongove brojeve. Armstrongov broj je broj koji je jednak zbiru kubova svojih cifara...............................................................................16

2.11 Napisati program koji ispisuje cjelobrojne stranice svih pravougaonika zadate površine, a da se ne ponavljaju dvije iste stranice u različitim kombinacijama...................................................17

2.12 Prodavnica ima pakovanja deterdženta od 16,17 i 21 kg. Napisati sve kombinacije kojima prodavnica može da isporuči korisniku tačno 185 kg...................................................................18

2.13 Napisati program koji zaokružuje slučajno generisani broj između 0 i 1 na X decimala.....19

2.14 Napisati program koji računa uneseni stepen za unesenu bazu, uz upotrebu funkcije..........21

2.15 Unijeti niz i ispisati ga sortiranog opadajućim redosljedom.................................................22

2.16 Napisati program koji ispisuje maksimalnu vrijednost, varijansu, aritmetičku sredinu i standardnu devijaciju unesenog niza.............................................................................................23

2.17 Potrebno je podatke o studijskom smjeru i broju studenata koje korisnik unese spremiti u datoteku, a zatim ih iščitati i prikazati na ekranu..........................................................................25

2.18 Jedan voz kreće iz mjesta A prema mjestu B brzinom v1 km/h, a drugi, istovremeno, u obrnutom smjeru brzinom v2 km/h. Mjesta A i B su međusobno udaljena s kilometara. Izračunati udaljenost od mjesta A na kome će se vozovi sresti i trenutak kad će se to dogoditi...................26

2.19 Potrebno je sabrati sve prirodne trocifrene brojeve...............................................................27

2.20 Ispisati sve savršene brojeve do 500......................................................................................28

2.21 Napisati program koji na osnovu unesenog rednog broja mjeseca ispisuje koliko taj mjesec ima dana.........................................................................................................................................29

- -

Page 3: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

2.22 Rastaviti uneseni broj na proste činioce................................................................................30

2.23 Napisati program koji sabira cifre unesenog višecifrenog broja...........................................31

2.24 Napisati program koji računa srednju ocjenu uspjeha učenika. Nakon posljednje ocjene treba unijeti 0. U slučaju da je bilo koja od ocjena 1, ispisuje se poruka: Negativan uspjeh.......32

Ako se unese vrijednost koja nije iz raspona od 1-5,ispisaćeseporuka:Pogrešan unos.................32

2.25 Potrebno je ispisati N članova Fibonaccijevog niza. Fibonačijev niz je niz u kome su prva dva člana jednaka jedan, a svaki sljedeći član je zbir prethodna dva člana niza (1, 1, 2, 3, 5, 8, 13, 21, 34, ......)....................................................................................................................................34

3. Zaključak...................................................................................................................................35

4. Literatura...................................................................................................................................36

- -

Page 4: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

1. Uvod

Da bismo napisali program u C++, neophodna su nam dva specijalizovana programa: jedan koji koristimo da napišemo izvornu datoteku, i drugi (kompajler) sa kojim dobijamo izvršnu datoteku. Danas se ova dva programa naj češće kombinuju u jedinstven paket – razvojno okruženje.

Najpoznatije C++ okruženje predstavlja Microsoftov proizvod Visual C++.NET. Međutim, većina ovakvih programa je komercijalna i nije dostupna svim korisnicima. Ipak, moguće je naći veliki broj besplatnih C++ okruženja.

Jedno od takvih okruženja je i Dev-C++. Najnoviju verziju pomenutog programa moguće je naći na web stranici firme Bloodshed Software(http://bloodshed.net/download.html tj.http://bloodshed.net/dev/devcpp.html ).

1.2 Struktura Programa

C++ program se sastoji od jedne ili više cjelina za prevođenje, pri čemu ove cjeline predstavljaju dio programa koji treba kompajlovati odvojeno od drugih cjelina. Tačnije, cjelina za prevođenje je rezultat primjene preliminarne faze kompilacije, koja se naziva pred procesovanje, na izvornu datoteku (source).

Izvorna datoteka obično počinje sa jednom ili više (predprocesorskih) direktiva #include, pri čemu svaka od njih navodi pred procesor da kopira deklaracije entiteta (funkcija, globalnih varijabli, tipova, itd), koji su definisani u ostalim cjelinama za prevođenje.

Posmatrajmo primjer :

1 #include <iostream>2 using namespace std;3 int main()4 {5 cout << “Hello, world!” << endl;6 system("PAUSE");7 return 0;8 }

U liniji 1 pozvana je datoteka iostream. Prvi karakter (#) predstavlja symbol, koji daje signal predprocesoru. Svaki put kada pokrenemo kompajler, predprocesor je već pokrenut. U principu,predprocesor čita kroz izvornu datoteku i traži linije koje počinju sa ovim karakterom, tako da ih predprocesor prođe prije nego kompajler starta sa radom.

Ukratko ova linija znači: Ono što slijedi je ime datoteke. Naći tu datoteku i odmah je pročitaj. Uglaste zagrade (<>) daju naredbu predprocesoru da nađe zadatu datoteku koja je dio

- -

Page 5: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

standardne biblioteke (u datom primjeru to je datoteka koja sadrži definicije za ispis i upis). U slučaju kada bismo htjeli uvrstiti neku svoju datoteku, umjesto zagrada bismo koristili znake navoda. Dakle, ova linija kaže predprocesoru da nađe datoteku koja se zove iostream i da je odmah pročita. Naravno,sadržaj tražene datoteke bismo mogli upisati u izvornu datoteku bez korištenja direktive #include.

Linija 2 omogućuje pristup standardnom entitetu (namespace) koji se naziva std. Bez ove linije,linija 5 bi se morala izvršiti na drugačiji način (std::cout << ....)

Linijom 3 počinje stvarni program sa funkcijom koja se naziva main(). Svaki C++ program sadrži ovu funkciju. Funkcija predstavlja dio koda koji odrađuje određenu radnju. Inače, program može da ima proizvoljan broj funkcija, pri čemu je funkcija main() specijalna. Kada god se program starta,ona se automatski poziva. Sve funkcije počinju zagradom { i završavaju zagradom }, a sve između ovih zagrada predstavlja dio funkcije.

Glavni dio programa je linija 5, koja predstavlja neku naredbu, tj. računarski korak koji daje neku vrijednost. Kraj naredbe uvijek završava tačka-zarezom. Naredba u datom primjeru šalje string "Hello world \n" na tok cout (output stream). String je svaki niz karaktera koji se nalazi između znaka navoda.

Posljednji karakter u datom stringu (\n) je karakter koji označava novi red. Stream je objekat koji izvršava ulazne i izlazne naredbe. cout je standardni izlazni stream u C++ (standardni izlazni stream je obično ekran).

Simbol << je izlazni operator (usmjerivač toka) kojem je lijevi operant izlazni stream, a desni izraz, i koji uzrokuje da se ovaj posljednji posalje na prvopomenuti. Dakle,u ovom slučaju string "Hello world \n" se šalje na cout, tj. uzrokuje njegov ispis na ekranu.

Linija 6 zaustavlja izvršenje programa, kako bismo bili u mogućnosti vidjeti rezultat njegovog rada. Bez ove linije program bi se nakon pokretanja izvršio, a konzola bi se zatvorila tako brzo da bismo imali osjećaj da program nije ništa ni uradio.

- -

Page 6: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2. Riješeni primjeri

2.1 Poređenje dva broja

#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){int a,b; cout<<"Vrijednost prvog broja="; cin>>a; cout<<"Vrijednost drugog broja="; cin>>b; cout<<endl<<"Je li "<<a<<"<"<<b<<"? Odgovor: "<<(a<b)<<endl; cout<<endl<<"Je li "<<a<<">"<<b<<"? Odgovor: "<<(a>b)<<endl; cout<<endl<<"Je li "<<a<<"=="<<b<<"? Odgovor: "<<(a==b)<<endl; cout<<endl<<"Je li "<<a<<"!="<<b<<"? Odgovor: "<<(a!=b)<<endl;system("PAUSE");return EXIT_SUCCESS;}

- -

Page 7: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.2 Izračunati starost studenta na osnovu godine rođenja i trenutne godine

#include<iostream>#include <cstdlib>using namespace std;int main(){ int god,god1,god2; cout<<"Upisi godinu svog rodjenja: "; cin>>god1; cout<<"Koja je godina sada? "; cin>>god2; god=god2-god1; cout<<endl<<"Sada imas "<<god<<" godina."<<endl; system("PAUSE"); return 0;}

- -

Page 8: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.3 Kombinovanje stringova

#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){int god, god1, god2;string ime; cout<<"Upisi svoje ime:"; cin>>ime; cout<<endl<<"Upisi godinu svog rodjenja:"; cin>>god1; cout<<endl<<"Koja je godina sada? "; cin>>god2; god=god2-god1;cout<<endl<<ime<<" ima "<<god<<" godina."<<endl; system("PAUSE");return EXIT_SUCCESS;}

- -

Page 9: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.3 Ispisati tablicu množenja brojeva od 1 do 10. Rezultat treba biti u kolonama. #include<cstdlib>#include<iomanip>#include <iostream>using namespace std;int main(){ int kolona,red; for(red=1;red<=10;red++){ for(kolona=1;kolona<=10;kolona++){ cout<<setw(7)<<red*kolona; } cout<<endl; } system("PAUSE"); return 0;}

- -

Page 10: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.4 Napisati program koji provjerava da li je uneseni broj veći od 100 i da li je paran#include<cstdlib>#include <iostream>using namespace std;int main(){ int a; cout<<"Upisi broj razlicit od 0:"; cin>>a; if (a<100){ cout<<"Uneseni broj je manji od 100 i "; if (a%2==0) cout<<" paran je."<<endl; else cout<<" neparan je."<<endl; } else if (a>100){ cout<<"Uneseni broj je veci od 100 i "; if (a%2==0) cout<<" paran je."<<endl; else cout<<" neparan je."<<endl; } else{ cout<<"Unesen je broj 100, on je paran"<<endl; } system("PAUSE"); return 0;}

- -

Page 11: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.5 Ispisati brojeve od 1 do 20 koristeći for petlju#include<cstdlib>#include <iostream>using namespace std;int main(){ int brojac; cout<<"Ispis brojeva od 1 do 20:"<<endl; for (brojac=1;brojac<=20;brojac++){ cout<<brojac<<" "; } cout<<endl; system("PAUSE"); return 0;}

- -

Page 12: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.6 Treba ispisati tablicu množenja odabranog broja sa brojevima od 1 do 10

#include<cstdlib>#include <iostream>using namespace std;int main(){ int b, brojac; cout<<"Upisi broj sa kojim zelis mnoziti:"; cin>>b; for (brojac=1;brojac<=10;brojac++) { cout<<b<<" * "<<brojac<<" = "<<b*brojac<<endl; } system("PAUSE"); return 0;}

- -

Page 13: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.7 Napisati program koji ispisuje parne brojeve u intervalu od 50 do 100

#include<cstdlib>#include <iostream>using namespace std;int main(){ int brojac; cout<<"Parni brojevi iz intervala od 50 do 100 su:"<<endl; for (brojac=50;brojac<=100;brojac+=2){ cout<<brojac<<" "; } cout<<endl; system("PAUSE"); return 0;}

- -

Page 14: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.8 Napisati program koji ispisuje brojeve djeljive nekim brojem u zadanom intervalu, i to tako da korisnik unese početak i kraj intervala, kao i broj kojim se provjerava djeljivost

#include<cstdlib>#include <iostream>using namespace std;int main(){int brojac,m,n,b; cout<<"Pocetna vrijednost raspona:"; cin>>m; cout<<"Zavrsna vrijednost rapona:"; cin>>n; cout<<"Provjerava se djeljivost sa brojem:"; cin>>b; cout<<"Brojevi djeljivi sa "<<b<<" iz raspona od " <<m<<" do "<<n<<" su:"<<endl; for (brojac=m;brojac<=n;brojac++){ if(brojac%b==0) cout<<brojac<<" "; } cout<<endl; system("PAUSE"); return 0;}

- -

Page 15: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.9 Treba unijeti N realnih brojeva pa izračunati njihovu srednju vrijednost. Unos brojeva traje sve dok korisnik ne upiše 0

#include<cstdlib>#include <iostream>using namespace std;int main(){ cout<<"U programu se unosi N brojeva, a zatim se \racuna srednja vrijednost unesenih brojeva."<<endl; float N,broj,zbir; broj=0; zbir=0; cout<<"Nakon posljednjeg broja unesi nulu."<<endl; cout<<"Unesi broj:"; cin>>N; while(N!=0) { broj=broj+1; zbir=zbir+N; cout<<"Unesi broj:"; cin>>N; } cout<<"Uneseno je "<<broj<<" brojeva. \Srednja vrijednost je "<<zbir/broj<<endl; system("PAUSE"); return 0;}

- -

Page 16: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.10 Napisati program koji ispisuje sve trocifreni Amstrongove brojeve. Armstrongov broj je broj koji je jednak zbiru kubova svojih cifara.

#include <cstdlib>#include <iostream>using namespace std;

int main(int argc, char *argv[]){ int a,b,c,zb, broj; for (a=1;a<10;a++) { for (b=1;b<10;b++) { for (c=1;c<10;c++) { zb=c*c*c+a*a*a+b*b*b; broj=a*100+b*10+c; cout << "Od cifara "<<a<<", "<<b<<" i "<<c; cout << " kubovi: " << a*a*a <<", " << b*b*b; cout << " i " << c*c*c; cout << ". Dakle,kod broja " << broj; cout << " zbir kubova: " << zb<< endl; if (zb==broj) { cout<<broj<< " je amstrongov broj "<<broj<<endl; system("PAUSE"); } } } } system("PAUSE"); return EXIT_SUCCESS;}

- -

Page 17: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.11 Napisati program koji ispisuje cjelobrojne stranice svih pravougaonika zadate površine, a da se ne ponavljaju dvije iste stranice u različitim kombinacijama

#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){ int p,a,b; cout << "Unesite povrsinu pravougaonika "; cin >> p; for(a=0;a<=p;a++){ for(b=0;b<=p;b++){ if(a<=b){ if(a*b==p){ cout << "Moguce dimenzije pravougaonika su "; cout << a<<" x "<<b<<endl; } } } } system("PAUSE"); return EXIT_SUCCESS;}

- -

Page 18: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.12 Prodavnica ima pakovanja deterdženta od 16,17 i 21 kg. Napisati sve kombinacije kojima prodavnica može da isporuči korisniku tačno 185 kg

#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){ int a,b,c,x,y,z; a=16; b=17; c=21; for(x=0;x<20;x++) { for (y=0;y<20;y++){ for (z=0;z<20;z++){ if((x*c) + (y*b) + (z*a)==185){ cout << z << " vrecica od " << a << ", " << y; cout << " vrecica od " << b << " i " << x; cout << " vrecica od " <<c << endl; } } } } system("PAUSE"); return EXIT_SUCCESS;}

- -

Page 19: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.13 Napisati program koji zaokružuje slučajno generisani broj između 0 i 1 na X decimala#include <ctime>#include <math.h>#include <iostream>using namespace std;int main(int argc, char *argv[]){ srand(time(NULL)); double broj,b; int x,c; while(x>=0){ broj=(double)rand()/RAND_MAX; cout<<endl<<"Na koliko decimala zelite zaokruziti broj " << broj << " ? "; cin>>x; float stepen=pow(float(10),float(x)); float rez=float(broj)*float (stepen); c=int (rez); b=c/stepen; float d=broj*(stepen*100); int e=int (d); int p=int (broj*(stepen*10)); if(p%10>5){ int g=int ((broj*stepen)+1); float z=g/stepen; cout<<z<<endl; } else if(p%10<5){ int g=int (broj*stepen); float z=g/stepen; cout<<z<<endl; } else{ if (p%10==5&e%10!=0){ int k=((p-50)/100)%10; int g=int (broj*stepen)+1; float z=g/stepen; cout<<z<<endl; } else if (p%10==5&e%10==0){ int z=((p-50)/100)%10; if(z%2==1){ int g=int (broj*stepen)+1; float z=g/stepen; cout<<z<<endl; } int o=((p-50)/100)%10; if(o%2==0){ int g=int (broj*stepen); float z=g/stepen; cout<<z<<endl; } } } } system("PAUSE"); return EXIT_SUCCESS;}

- -

Page 20: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

- -

Page 21: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.14 Napisati program koji računa uneseni stepen za unesenu bazu, uz upotrebu funkcije.

#include<cstdlib>#include <iostream>using namespace std;double Stepen (int, int);main (){ int a,b; cout << "Unesi bazu:"; cin >> a; cout << "\nUnesi eksponent:"; cin >> b; cout << a<<"^" <<b<<" = " << Stepen(a,b) << endl; system("PAUSE");}double Stepen (int baza, int eksponent){ double rezultat = 1; for (int i = 0; i < eksponent; ++i){ rezultat *= baza; } return rezultat;}

- -

Page 22: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.15 Unijeti niz i ispisati ga sortiranog opadajućim redosljedom

#include <cstdlib>#include <iostream>using namespace std;int main (){ int x[10]; int y[10]; int i, j, n; cout << "Unesite broj clanova niza (<10): "; cin >> n; for (i = 0; i < n; i++){ cout << "Unesite clan br. " << i << ": "; cin >> x[i]; y[i] = x[i]; } for (i = 0; i < n-1; i++){ for (j = i+1; j < n; j++){ if (y[i] < y[j]) swap(y[i],y[j]); } } cout << "x:" << "\t" << "y:" << endl; for (i = 0; i < n; i++){ cout << x[i] << "\t" << y[i] << endl; } system ("PAUSE");}

- -

Page 23: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.16 Napisati program koji ispisuje maksimalnu vrijednost, varijansu, aritmetičku sredinu i standardnu devijaciju unesenog niza.

#include <iostream>#include <cstdlib>#include <cmath>using namespace std;double maks(double x[], int velicina);double arSred(double x[], int velicina);double var(double x[], int velicina);double stDev(double x[], int velicina);int main (){ int velicina=12; double x[velicina]; for (int i=0; i< velicina; i++){ cout << "x["<<i <<"] "; cin >> x[i]; } cout << "maksimalna vrijednost: " << maks(x,velicina)<<endl; cout << "aritmeticka sredina: " << arSred(x,velicina)<<endl; cout << "varijansa: " << var(x,velicina)<<endl; cout << "standardna devijacija: " << stDev(x,velicina)<<endl; system ("PAUSE");}double maks(double x[], int velicina){ int imax=0; for (int i=0; i<velicina; i++){ if (x[i]>imax) imax=x[i]; } return(imax);}double arSred (double x[], int velicina){ double sum=0.0; for (int i=0; i<velicina; i++){ sum += x[i]; } return(sum/velicina);}double var (double x[], int velicina){ double sum=0.0, b; double m = arSred(x,velicina); for (int i=0; i<velicina; i++){ b=x[i]-m; sum += b*b; } return(sum/velicina);}double stDev (double x[], int velicina){ return sqrt(var(x,velicina));}

- -

Page 24: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

- -

Page 25: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.17 Potrebno je podatke o studijskom smjeru i broju studenata koje korisnik unese spremiti u datoteku, a zatim ih iščitati i prikazati na ekranu

#include <iostream>#include <cstdlib>#include <fstream>#include <string>using namespace std;int main (){ string podaci; ofstream izlaz; izlaz.open("c:\\studenti.txt"); cout << "Upisivanje u datoteku" << endl; cout << "=====================" << endl; cout << "Unesite naziv studijske grupe: "; getline(cin,podaci); izlaz << podaci << endl; cout << "Unesite broj studenata: "; cin >> podaci; cin.ignore(); izlaz << podaci << endl; izlaz.close(); ifstream ulaz; cout << "Citanje sa datoteke" << endl; cout << "===================" << endl; ulaz.open("c:\\studenti.txt"); getline(ulaz,podaci); cout << podaci << endl; getline(ulaz,podaci); cout << podaci << endl; ulaz.close(); system ("PAUSE");}

- -

Page 26: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.18 Jedan voz kreće iz mjesta A prema mjestu B brzinom v1 km/h, a drugi, istovremeno, u obrnutom smjeru brzinom v2 km/h. Mjesta A i B su međusobno udaljena s kilometara. Izračunati udaljenost od mjesta A na kome će se vozovi sresti i trenutak kad će se to dogoditi.

#include<cstdlib>#include <iostream>using namespace std;int main(){ float v1, v2, udaljenost; float put1, vrijeme; cout<<"Upisi brzinu prvog voza (u km/h):"; cin>>v1; cout<<"Upisi brzinu drugog voza (u km/h):"; cin>>v2; cout<<"Upisi udaljenost izmedju dva mjesta (u km):"; cin>>udaljenost; put1=udaljenost*v1/(v1+v2); vrijeme=put1/v1; cout<<"Susret ce se dogoditi nakon "<<put1; cout<<" km (od mjesta A). "<<endl; cout<<"Vozovi ce se sresti nakon "<<vrijeme<<" sati."<<endl; system("PAUSE"); return 0;}

- -

Page 27: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.19 Potrebno je sabrati sve prirodne trocifrene brojeve.

#include<cstdlib>#include <iostream>using namespace std;int main(){ int brojac,zbir; cout<<"Program sabira sve prirodne trocifrene brojeve."<<endl; zbir=0; for(brojac=100;brojac<=999;brojac++){ zbir=zbir+brojac; } cout<<"Zbir svih prirodnih trocifreni brojeva je "<<zbir<<endl; system ("PAUSE"); return 0;}

- -

Page 28: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.20 Ispisati sve savršene brojeve do 500.

#include<cstdlib>#include <iostream>using namespace std;int main(){ int br,brojac,zbir; cout<<"Savrseni brojevi do 500 su: "; for(br=1;br<=500;br++){ zbir=0; for (brojac=1;brojac<=(br-1);brojac++){ if(br%brojac==0) zbir=zbir+brojac; } if(zbir==br) cout<<br<<" "; } system ("PAUSE"); return 0;}

- -

Page 29: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.21 Napisati program koji na osnovu unesenog rednog broja mjeseca ispisuje koliko taj mjesec ima dana.

#include<cstdlib>#include <iostream>using namespace std;int main(){ int i; cout<<"Upisi redni broj mjeseca: "; cin>>i; switch (i){ case 4: case 6: case 9: case 11: cout<<i<<". mjesec ima 30 dana."<<endl; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout<<i<<". mjesec ima 31 dan."<<endl; break; case 2: cout<<i<<". mjesec ima 28 dana (ili 29 ako je godina prestupna)."; break; default: cout<<"Pogresan unos."; cout<<" Redni broj mjeseca moze biti iz raspona od 1 do 12."; } cout << endl; system ("PAUSE"); return 0;}

- -

Page 30: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.22 Rastaviti uneseni broj na proste činioce.

#include<cstdlib>#include <iostream>using namespace std;int main(){ int br, prbr;unos:cout<<"Upisi broj veci od 0:"; cin>>br; if(br<=0){ cout<<"Treba unijeti broj veci od 0" <<endl; goto unos; } else{ prbr=2; cout<<br<<" = 1"; dj2:if(br==1){ goto kraj; } else{ dj1:if(br%prbr==0){ cout<<" * "<<prbr; br=br/prbr; goto dj2; } else{ prbr=prbr+1; goto dj1; } } }kraj:cout<<endl; system ("PAUSE"); return 0;}

- -

Page 31: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.23 Napisati program koji sabira cifre unesenog višecifrenog broja.

#include<cstdlib>#include <iostream>using namespace std;int main(){ int b,i,s,br; s=0; cout<<"Upisi prirodni broj: ";upis:cin>>b; if(b<0){ cout<<"Upisi prirodni broj"<<endl; goto upis; } br=b; while(b>0){ i=b%10; s=s+i; b=b/10; } cout<<"Zbir cifara broja "<<br<<" je "<<s<<endl; system ("PAUSE"); return 0;}

- -

Page 32: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.24 Napisati program koji računa srednju ocjenu uspjeha učenika. Nakon posljednje ocjene treba unijeti 0. U slučaju da je bilo koja od ocjena 1, ispisuje se poruka: Negativan uspjeh. Ako se unese vrijednost koja nije iz raspona od 1-5,ispisaćeseporuka:Pogrešan unos

#include<cstdlib>#include <iostream>using namespace std;int main(){ cout<<"Nakon posljednje ocjene unosi se 0."<<endl; float b,suma,br; suma=0; br=0; do{ unos:cout<<"Unesi ocjenu: "; cin>>b; if(b==1){ cout<<"Negativan uspjeh."<<endl; goto kraj; } else if(b<0 || b>5){ cout<<"Pogresan unos."<<endl; goto unos; } else{ suma=suma+b; br=br+1; } } while(b>0); br=br-1; cout<<"Srednja ocjena uspjeha je " <<suma/br<<endl; kraj:system ("PAUSE"); return 0;}

- -

Page 33: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

- -

Page 34: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

2.25 Potrebno je ispisati N članova Fibonaccijevog niza. Fibonaccijev niz je niz u kome su prva dva člana jednaka jedan, a svaki sljedeći član je zbir prethodna dva člana niza (1, 1, 2, 3, 5, 8, 13, 21, 34, ......).

#include<cstdlib>#include <iostream>using namespace std;int main(){ int prvi,drugi,treci,brojac,N; cout<<"Program ispisuje N clanova Fibonaccijevog niza."<<endl; prvi=1; drugi=1; upis:cout<<"Upisi koliko clanova niza zelis: "; cin>>N; if(N<2){ cout<<"Broj clanova niza mora biti veci ili jednak 2"<<endl; goto upis; } cout<<prvi<<" "<<drugi; for(brojac=3;brojac<=N;brojac++){ treci=prvi+drugi; cout<<" "<<treci; prvi=drugi; drugi=treci; } cout<<endl; kraj:system ("PAUSE"); return 0;}

- -

Page 35: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

3. Zaključak

Najprije mogu da kažem da poznavanje programskog jezika C i Paskala je od velike koristi za učenje programiranja u C++ i stoga je preporučljivo savladati prvo ovaj jezik pa tek onda se uhvatiti u koštac sa moćnim C++.

Pri izradi ovog seminarskog rada prvi put sam se susreo sa programiranjem u C++. Nastojao sam da kroz primere i tekst da obuhvatim osnovne mogućnosti koje pruža C++.Svakako ću i nakon što položim ovaj ispit nastaviti sa usavršavanjem rada u C++ .

- -

Page 36: Seminarski rad rijeseni primjeri c++ Ognje Kostic.docx

Viši programski jezici i RAD alati – programiranje u C++

4. Literatura

Davis, Stephen R.: C++ for Dummies, 3rd edition. IDG Books

Worldwide, Foster City, 1998.

Mekić, Smajo: Programiranje za srednje škole.

http://www.scribd.com/doc/129418197/C-programiranje-za-

srednje-%C5%A1kole

Osnove programiranja u jeziku C++.

https://sites.google.com/site/sandasutalo/osnove-programiranja

- -