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
můžu se zeptat co je tu špatně ?
Na vstupu dostanete seznam celých čísel ukončených -1, která již do seznamu nepatří. Vypište největší z nich. Číslo bude alespoň jedno.
program maximum; const n=-1; var a,b,c:integer; begin b:=-MAXINT; begin read (a); while a<>n do if a>b then c:=a else c:=b; end; write(c); end.
Offline
↑ Mr.Pinker:
Všechno je špatně :)
1) Snaž se ten zdroják nějak strukturovat, nepiš while na stejný řádek kde máš read(a). Chce to taky nějaký odsazování
2) Každý nový číslo, co přečteš ze vstupu porovnáváš pořád s -MAXINT, takže ať přijde cokoli, vždycky to bude větší a vždycky ti to vypíše to poslední číslo
3) Proč ukončuješ vstup zádáním -1? Co když chci zadat -1 do vstupu?
Offline
Ahoj, v tom cyklu while musí být i načítání nového čísla:
program maximum; var a, max : integer; begin readln(max); { načtu první číslo - je dosavadní maximum} readln(a); {načtu druhé číslo} while a <> -1 do {dokud nebude zadáno číslo -1 opakuj} begin if a > max then {aktuálně načtené číslo je dosavadní maximum - uložím ho do proměnné max} max := a; readln(a); {načtu další číslo !!!!!!!!} end; write(max); end.
Offline
Ahoj, vím co je codex, protože řeším MO-P i KSP, ale nevím, kde v codexu bych to vyzkoušel. Co ty řešíš (domácí úkol nebo nějakou soutěž)? Ten program jsem nezkoušel ani zpouštět v kompilátoru pascalu, možná je tam nějaká chyba ve syntaxi (pokud ti to nepůjde zpravit, tak se ozvi), ale myslím si, že myšlenkově by to mělo fungovat.
Offline