Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Dobrý den, vím, že tato otázka je skutečně hloupá, ale já už zkusil opravdu všechno a pascal stále není spokojený
Nemůžete mi někdo prosím vás říct, co je na tomhle špatně?
Mám najít 2 největší číslo z řady celých čísel ukončených -1
Děkuji
var x, max,min: integer; begin read(x); max:=x; min:=x; while x<>-1 do begin if x>max then max:=x else begin if x>min then min:=x end; read(x); end; write(min); end.
Offline
No sice vidím ten problém a opravil jsem ho následovně:
var x, max,min: integer; begin read(x); max:=x; min:=x; while x<>-1 do begin if x>max then begin min:=max; max:=x; end; else begin if x>min then min:=x; end; read(x); end; write(min); end.
Teď zase nechápu, proč je tam špatně to else
Vždyť přece if (podmínka) then (udělej něco) else (pokud neplatí podmínky udělej toto)
A nedovolí mi to else tam nechat. Prý tam má být středních a ne else.
Vůbec nechápu co je na těch vnořených příkazech špatně...
Offline
↑ holyduke: to je taková dost specifická poučka, tak bych to ještě trochu rozvedl: v Pascalu se středník používá k oddělování příkazů, na rozdíl od jazyků příbuzných s C, kde se používá k ukončování příkazů. Např. na řádku max:=x; by taky nemusel být středník, ale tady to nevadí, protože tam je prostě jakoby prázdnej příkaz. Mezi if a else ale druhej (prázdnej) příkaz vložit nemůžeš, proto tam nesmí bejt ten středník
Offline
↑ Stýv: ↑ holyduke:
Díky moc za pomoc, už vše pracuje tak jak má :)
Já myslel že begin a end; je jakoby samostatnej vloženej příkat, proto za tím end musí být středník.
Ještě jsem tam vložil min:=-maxint. V tomto programu byl problém, že kdybych zadal první číslo maximální, druhé číslo by bylo také maximální. A to by byla chyba. Teď je vše ok.
A omlouvám se, jestli jsou to hloupé otázky :// bohužel zatím je to pro mě nové.
Příjemnej zbytek večera ;)
Offline