Programski jezik C++ - Vježbe - 5. dio

Slides:



Advertisements
Similar presentations
Intro to Programming Week # 6 Repetition Structure Lecture # 10
Advertisements

לולאות קרן כליף.
Programi zasnovani na prozorima
Uvod u programiranje - matematika – VI predavanje
Petlje WHILE – WEND.
Algoritamske/programske strukture
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Struktura petlje.
The Present Perfect Continuous Tense
Microsoft Office 2007 MS Office je programski paket koji sadrži više programa: MS Word – program za obradu teksta MS Excel – program za izradu tabela sa.
Random Number Generation
Quick Basic.
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
PROGRAMSKE PETLJE Milenković Gabrijela.
Komponente izbora i kontejnerske komponente
What’s the time? (Koliko je sati?)
Europski dan programiranja
Mere položaja z vrednost (ili statndardna vrednost)
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
UPOTREBA RAČUNALA U PSIHOLOGIJI Ak. god. 2018/19 Doc. Dr. sc
MessageBox.
KORELACIJSKA I REGRESIJSKA ANALIZA
Starting Out with C++: From Control Structures through Objects
Pointers & Functions.
Pojmovi digitalnog zapisa
Jedinice i desetice.
Programski jezik C++ - Vježbe - 2. dio
PROGRAMSKI JEZIK PASCAL
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
Osnovni simboli jezika Pascal
Razvojne okoline Kolegij: Programski jezik C++ Ak. god. 2017/2018
Do While ... Loop struktura
TEST II razredi.
Računarski praktikum 3 Vježbe 01
Programiranje – Small Basic
Kontrola toka programa
Programiranje - Uvod - Kolegij: Programski jezik C++
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
PREZENTACIJA KOLEGIJA
Nizovi.
C++ WORKSHOP Šimec Tino - FOI.
Python „Technology and social media have brought power back to the people” Mark McKinnon.
Naredbe u php-u.
SRETNA SEDMICA.
Programski jezik Python
Vježba- grananje-naredba if
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Programski jezik C++ - Vježbe - 4. dio
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 3. dio

Programski jezik C++ - Vježbe - 1. dio
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
Vježbanje.
Naslovna01.
Oduzimanje brojeva od 1 do 5.
Pointers & Functions.
Programming Strings.
Ponavljanje Pisana provjera
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 1. dio
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Vježbenica 2: struktura grananja – 2.dio
Uvjetne petlje.
Višestruko grananje.
Programski jezik C++ - Vježbe - 2. dio
Iracionalni brojevi
Presentation transcript:

Programski jezik C++ - Vježbe - 5. dio Ak. god. 2017/2018 Doc. Dr. Sc. Marko Maliković

Zadatak Napišite program koji će za upisani cijeli broj ispisati koliko puta se u tom broju pojavljuje znamenka 0, koliko puta znamenka 1, koliko puta znamenka 2, ... i koliko puta znamenka 9

Rješenje (BEZ UPORABE NIZOVA JER IH JOŠ NISMO RADILI) 1. dio programa: #include <iostream> using namespace std; int main() { int nula, jedinica, dvojka, trojka, cetvorka, petica, sestica, sedmica, osmica, devetka; nula=0; jedinica=0; dvojka=0; trojka=0; cetvorka=0; petica=0; sestica=0; sedmica=0; osmica=0; devetka=0; int n; cout << "Upisite cijeli broj: "; cin >> n; while (n>0) { switch (n%10){ case 0: nula++;break; case 1: jedinica++;break; case 2: dvojka++;break; case 3: trojka++;break; case 4: cetvorka++;break; case 5: petica++;break; case 6: sestica++;break; case 7: sedmica++;break; case 8: osmica++;break; case 9: devetka++;break; } n=n/10;

Rješenje (BEZ UPORABE NIZOVA JER IH JOŠ NISMO RADILI) 2. dio programa: cout << "Nula ima " << nula << endl; cout << "Jedinica ima " << jedinica << endl; cout << "Dvojki ima " << dvojka << endl; cout << "Trojki ima " << trojka << endl; cout << "Cetvorki ima " << cetvorka << endl; cout << "Petica ima " << petica << endl; cout << "Sestica ima " << sestica << endl; cout << "Sedmica ima " << sedmica << endl; cout << "Osmica ima " << osmica << endl; cout << "Devetka ima " << devetka << endl; return 0; }

Zadatak Napišite program koji računa zbroj znamenki za neki cijeli broj

Rješenje #include <iostream> using namespace std; int main() { int n, zbroj; zbroj = 0; cout << "Upisite cijeli broj: "; cin >> n; while (n>0) { zbroj = zbroj+(n%10); // Zbroj povečavamo za prvu desnu znamenku n=n/10; // Broj skraćujemo za prvu desnu znamenku } cout << "Zbroj znamenki upisanog broja je " << zbroj << endl; return 0;

Zadatak - Tablica množenja - #include <iostream> using namespace std; int main() { int i, j; for (i = 1; i <= 10; ++i){ for (j = 1; j <= 10; ++j) {cout << i * j;} cout << endl;} return 0; } Međutim, gornji program će kao izlaz dati: 12345678910 2468101214161820 36912151821242730 481216202428323640 5101520253035404550 6121824303642485460 7142128354249566370 8162432404856647280 9182736455463728190 102030405060708090100 Zato jer nismo ni na koji način razdvojili izračunate brojeve

Rješenje Što trebamo? Upotrijebiti ćemo manipulator setw() Trebamo dobiti ispis brojeva u pravilnim stupcima (ne možemo razdvajati brojeve razmacima jer nisu svi brojevi jednake širine) Upotrijebiti ćemo manipulator setw() setw() određuje koliki je najmanji prostor predviđen za ispis podatka koji slijedi u izlaznom toku Varijanta setw(5) određuje da je taj prostor jednak 5 Manipulator setw() je definiran u datoteci iomanip Znači da na početku programa moramo uključiti i datoteku iomanip

Zadatak - Tablica množenja - #include <iostream> #include <iomanip> using namespace std; int main() { int i, j; for (i = 1; i <= 10; ++i){ for (j = 1; j <= 10; ++j) {cout << setw(5) << i * j;} cout << endl;} return 0; } 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100 I sada program kao izlaz daje ovo

Zadatak Napišite program koji će ispisati tablicu množenja brojeva od 1 do 10 ali u slijedećem obliku: 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 10 20 30 40 50 60 70 80 90 100

Rješenje #include <iostream> #include <iomanip> using namespace std; int main() { int i, j; for (i = 1; i <= 10; ++i){ for (j = 1; j <= i; ++j) {cout << setw(5) << i * j;} cout << endl;} return 0; }

Zadatak Napišite program u kojem se računa približna vrijednost broja e (baze prirodnog logaritma) prema slijedećoj formuli: 𝑒= 1 0! + 1 1! + 1 2! + 1 3! + 1 4! +…+ 1 𝑛! +… Petlju za izračunavanje treba ponavljati sve do broja n kojeg upisuje korisnik

Zadatak Za prirodni broj d definiran je niz 𝑎 0 = 1, 𝑎 𝑛 +1= 𝑎 𝑛 2 𝑎𝑘𝑜 𝑗𝑒 𝑎 𝑛 𝑝𝑎𝑟𝑎𝑛, 𝑎 𝑛 +𝑑 𝑖𝑛𝑎č𝑒. Pronađite što više brojeva d takvih da postoji prirodni broj n za koji je 𝑎 𝑛 =1

Rješenje #include <iostream> #include <conio.h> using namespace std; int main() { int n, a0, a1, a2; bool nadjen_n; for (int d=1;d<=1000;d++) nadjen_n=false; n=1; a0=1; while (nadjen_n==false && n<1000000) if (a0%2==0) a2=a1; a1=a0/2; a0=a2; } else a1=a0+d; if (a1==1){ nadjen_n=true; cout << "Broj d = " << d << endl; n++; return 0;