Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

UOENE GREKE U MATERIJALIMA ZA PREDAVANJA

==========================================
Datum posljednjeg azuriranja: 16. IV 2014.
Ovaj dokument e se stalno aurirati svaki put kad se uoe nove greke. Pozivaju se i st
udenti da
daju svoj doprinos pronalaenju greaka. Uoene greke moete prijaviti predmetnom nastavn
iku
putem emaila zjuric@utic.net.ba
Predavanje 1_a
-------------Strana 5, prvi programski kod:
U pretposljednjoj naredbi umjesto "endl" treba stajati "std::endl"
Predavanje 2_a
-------------Strana 1, trei programski kod
U posljednoj naredbi umjesto cout treba stajati std::cout
Strana 1, etvrti (posljednji) programski kod
U drugoj naredbi nedostaje operator "<<" iza "false"
Strana 6, trei paragraf
Umjesto "BojaSemafora::Zelena" treba pisati "BojeSemafora::Zelena"
Predavanje 4_a
-------------Strana 6, drugi programski isjeak
Nedostaje oznaka reference "&" ispred "x".
Predavanje 4_b
-------------Strana 11, etvrti programski isjeak
Ispravna specijalizacija generike funkcije za tip "int" treba glasiti
template <>
int F(int x) {
...
}

// Ovo je SPECIJALIZACIJA generike


// funkcije za tip "int"...

Predavanje 5_a
-------------Strana 1, trei programski isjeak
Ovaj isjeak bi trebao glasiti
std::vector<double> a{3, 4, 0, 8, 1, 6, 1, 4, 2, 7};
IspisiNiz(a, 10);

// Samo C++11
// OPET GREKA!

da bi tekst koji pie malo ispod bio u saglasnosti sa isjekom.

Strana 4, peti programski isjeak


Svuda gdje u ovom isjeku pie "niz" (na 3 mjesta) trebalo bi pisati "c".
Strana 7, prvi programski isjeak
Umjesto "std::begin(v)" i "std::end(v)" treba pisati "std::begin(a)" i
"std::end(a)".
Strana 8, posljednji paragraf (opis funkcije "copy_backward")
Nedostaje informacija da za razliku od funkcije "copy", funkcija "copy_backward"
zahtijeva da "p3" pokazuje tano IZA KRAJA odredinog bloka, a ne na njegov
poetak.
Strana 10, prvi paragraf ispod opisa funkcije "unique_copy"
Umjesto "std:end" treba pisati "std::end".
Strana 10, posljednji programski isjeak
Umjesto "std::copy_backward(a + 5, a + 9, a + 6)" treba pisati
std::copy_backward(a + 5, a + 9, a + 10)
Strana 11, prvi programski isjeak
Umjesto "c.begin() + 6" treba pisati "c.begin() + 10"
Strana 11, drugi programski isjeak
Umjesto "&c[6]" treba pisati "&c[10]"
Predavanje 5_b
-------------Strana 1, prvi programski isjeak
U funkciji "NulaFunkcije" naredba
if(b > a) throw std::range_error("Nekorektan interval!");
trebala bi glasiti
if(b < a) throw std::range_error("Nekorektan interval!");
Ista greka ponavlja se u izvedbi iste funkcije na strani 2.
Strana 2, drugi programski isjeak
Ovaj isjeak bi trebao glasiti
std::cout << "Nula funkcije F(x) na intervalu (1, 2) iznosi "
<< NulaFunkcije(F, 1, 2) << std::endl;
std::cout << "Nula funkcije G(x) na intervalu (0, 1) iznosi "
<< NulaFunkcije(G, 0, 1) << std::endl;
std::cout << "Nula funkcije sin(x) na intervalu (3, 4) iznosi "
<< NulaFunkcije(std::sin, 3, 4) << std::endl;

Strana 3, prvi programski isjeak


Pie da se tip povratne vrijednosti mora navesti u sluajevima kada se unutar
tijela lambda funkcije nalazi vie "return" naredbi iza kojih se nalaze izrazi
razliitih tipova, ili ukoliko iz bilo kojeg razloga elimo da tip povratne
vrijednosti bude drugaiji od tipa onoga to je stavljeno iza return. Zapravo,
istina je da standard C++11 propisuje da se tip povratne vrijednosti MORA
NAVESTI im se lambda funkcija sastoji i od ega drugog osim jedne jedine
"return" naredbe. Ovo je posve nepotrebno odgranienje, i mnogi kompajleri ga
ne potuju. Komitet za standardizaciju C++11 je takoer postao svjestan da je
ovo ogranienje nepotrebno i bie uklonjeno u novoj maloj reviziji standarda
poznatoj kao C++14 (planiranoj za kraj 2014. godine).
Strana 8, posljednji programski isjeak
Ovaj isjeak bi trebao glasiti
auto p(std::find_if(a, a + 10, [](int x) { return x % 2 == 0; });
if(p == a + 10) std::cout << "Niz ne sadri parne elemente\n";
else std::cout << "Prvi parni element u nizu je " << *p << std::endl;
Strana 9, prvi programski isjeak
Drimo li se strogo C++11 standarda (vidi primjedbu za stranu 3),
lambda funkcija bi trebala imati tip povratne vrijednosti "int", tj.
zaglavlje bi joj trebalo glasiti "[](int n) -> int", mada mnogi
kompajleri to ne trae.
Strana 12, trei i etvrti programski isjeak
U obje verzije funkcije "IspredPoAbecedi", posljednja naredba treba glasiti
return s1 < s2;

// umjesto return a < b;

Predavanje 6_a
-------------Strana 2, prvi programski isjecak
U posljednjoj naredbi treba pisati std::cout i std::endl umjesto cout i endl.
Strana 10, prvi programski isjecak
Nedostaje std:: ispred cout u osmom redu
Strana 10, drugi programski isjecak
Nedostaje std:: ispred cin u sedmom redu
Predavanje 6_b
-------------Strana 8, deklaracija ispod drugog paragrafa
Ime deklarirane reference treba biti "ref_na_pok" a ne "ref" da bi deklaracija
bila usklaena sa ostatkom teksta.
Predavanje 7_a
--------------

Strana 12, pretposljednji paragraf


Tekst u ovom paragrafu nije usklaen sa programskim isjekom iznad. Veliina
niza je 5 a ne 10 elemenata, i pokaziva na poetak niza zove se "a" a ne "p"
(u tekstu se mijea "a" i "p").

You might also like