diff --git a/lv4/1a.cpp b/lv4/1a.cpp new file mode 100644 index 0000000..ae4cb4b --- /dev/null +++ b/lv4/1a.cpp @@ -0,0 +1,29 @@ +/* + +a. Odnos znamenke jedinice i desetice +Napiši algoritam u pseudokodu koji će ispisati je li u dvoznamenkastom broju +znamenka jedinice veća od znamenke desetice. Ako uvjet vrijedi, treba ispisati DA, +ako ne vrijedi, treba ispisati NE. U slučaju da su znamenke jednake, treba ispisati +poruku: JEDNAKE ZNAMENKE. Prikaži i pripadni dijagram toka. +Primjer test-podataka: 55 odgovor je JEDNAKE ZNAMENKE, 56 odgovor je DA, 65 +odgovor je NE +*/ +#include +using namespace std; + +int main() { + int n; + cin >> n; + const int zadnja = n % 10; + const int predzadnja = ((n % 100) - (zadnja)) / 10; + if (zadnja < predzadnja) { + + cout << "NE"; + return 0; + } + if (zadnja > predzadnja) { + cout << "DA"; + return 0; + } + cout << "JEDNAKE ZNAMENKE"; +} \ No newline at end of file diff --git a/lv4/1b.cpp b/lv4/1b.cpp new file mode 100644 index 0000000..907b141 --- /dev/null +++ b/lv4/1b.cpp @@ -0,0 +1,21 @@ +#include +#include + +using namespace std; + +/* +b. Najmanji cijeli broj +Napiši algoritam u pseudokodu koji će ispisivati najmanji od triju cijelih brojeva a, b i +c. Prikaži i pripadni dijagram toka. +Primjer test-podataka: 1 3 4 , odgovor 1, za 1 3 1, odgovor 1 +*/ + +int main() { + int brojevi[3]; + for (int i = 0; i < 3; i++) { + cin >> brojevi[i]; + } + sort(brojevi, brojevi + 3); //brojevi+3 jer je 3 broj elemenata u arrayu + cout << brojevi[0]; + +} \ No newline at end of file diff --git a/lv4/1c.cpp b/lv4/1c.cpp new file mode 100644 index 0000000..7ce375f --- /dev/null +++ b/lv4/1c.cpp @@ -0,0 +1,25 @@ +/* +c. Jednakokračan trokut +Napiši algoritam u pseudokodu koji će provjeravati je li trokut jednakokračan. Ulaz u +algoritam su stranice trokuta a, b i c. Prikaži i pripadni dijagram toka. +Primjer test-podataka: 3, 4, 5, odgovor NIJE JEDNAKOKRAČAN, 2, 3, 3, odgovor +JEDNAKOKRAČAN, 3, 2, 3 odgovor JEDNAKOKRAČAN, 3, 3, 3 nije jednakokračan +*/ + +#include +#include +using namespace std; + +int main() { + int brojevi[3]; + for (int i = 0; i < 3; i++) { + cin >> brojevi[i]; + } + sort(brojevi, brojevi + 3); //brojevi+3 jer je 3 broj elemenata u arrayu + if ((brojevi[0] == brojevi[1]) || (brojevi[1] == brojevi[2])) { + cout << "JEDNAKOKRACAN"; + return 0; + } + cout << "NIJE JEDNAKOKRACAN"; + return 0; +} \ No newline at end of file diff --git a/lv4/2a.cpp b/lv4/2a.cpp new file mode 100644 index 0000000..8949ea8 --- /dev/null +++ b/lv4/2a.cpp @@ -0,0 +1,12 @@ +#include +using namespace std; + +int main() { + int n; + cin >> n; + for (int i = 1; i < n; i++) { + if ((i % 7 == 0) || (i % 5 == 0)) { + cout << i << " "; + } + } +} \ No newline at end of file diff --git a/lv4/2b.cpp b/lv4/2b.cpp new file mode 100644 index 0000000..fb93a4c --- /dev/null +++ b/lv4/2b.cpp @@ -0,0 +1,20 @@ +/* + +b. Ispis brojeva djeljivih sa 2 i 3 +Napiši algoritam u pseudokodu koji će redom ispisivati sve prirodne brojeve do broja +n koji su djeljivi sa 2 i 3. Prikaži i pripadni dijagram toka. +Primjer test-podataka: 31, odgovor je 6 12 18 24 30 + +*/ +#include +using namespace std; + +int main() { + int n; + cin >> n; + for (int i = 1; i < n; i++) { + if ((i % 2 == 0) && (i % 3 == 0)) { + cout << i << " "; + } + } +} \ No newline at end of file diff --git a/lv4/2c.cpp b/lv4/2c.cpp new file mode 100644 index 0000000..be15127 --- /dev/null +++ b/lv4/2c.cpp @@ -0,0 +1,28 @@ +/* + +c. Ispis +Učitati dva različita prirodna broja a i b. Ako su učitani jednaki prirodni brojevi, +korisniku ispisati poruku „Jednaki brojevi, ponovi unos.“ Kad korisnik učita dva +različita prirodna broja, ispisati sve prirodne brojeve iz intervala [1, a+b>. Prikaži i +pripadni dijagram toka. +Primjer test-podataka: 2, 2 odgovor: Ponovi unos, 2 3 odgovor: 1 2 3 4*/ + + +#include +using namespace std; + +int main() { + int a, b; + cin >> a >> b; + while (a == b) { + cout << "BROJEVI SU JEDNAKI, PONOVI UNOS" << endl; + cin >> a >> b; + + } + for (int i = 1; i < a + b; i++) { + cout << i << " "; + } + return 0; + + +} \ No newline at end of file diff --git a/lv4/priprema b/lv4/priprema new file mode 100644 index 0000000..bb6c225 --- /dev/null +++ b/lv4/priprema @@ -0,0 +1,20 @@ +1. Napišite primjere i objasnite osnovne tri algoritamske strukture pomoću zapisa +pseudokoda. +a) za i od 5 do 10: (petlje - za) - ponavlja kod dok je iterator unutar navedenog raspona +b) ako je i mod 2 == 0: (grananje - ako) +c) dok je i < 10: (petlja - dok) + + +2. Navedite najmanje tri pravila kojih bismo se trebali pridržavati kod određivanja +varijabli potrebnih za rješavanje određenog problema. + koristenje tocnih vrsti podataka (npr. bool za istinu-laz) + pravilno imenovanje varijabli (bilo bi dobro da varijable imaju smisleno ime) + strukturiano definirati varijable (kod je citljiviji kada su sve varijable definirane na jednom ili par mjesta a ne svugdje kroz kod) + + + +3. Što se radi tijekom postupka ispitivanja i analize algoritma. Što su test-podaci i kakvi +bi oni trebali biti. Kod traženja odgovora poslužite se internetom. Navedite adrese +na kojima ste odgovore našli. + Tijekom analize i ispitivanja algoritma mi kao programeri korak po korak "simuliramo" sto bi taj kod radio na papiru ili sl. -moje znanje + Test-podatci su ulazni podatci za koje znamo koji bi ispis trebao biti, s njima testiramo nas program/algoritam, oni bi trebali testirati sve rubne slucajeve i trebali bi se razlikovati jedan od drugog -moje znanje