| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 11.02.07 Prihlásený: 22.06.15 Príspevky: 90 Témy: 24 Bydlisko: Kosice | Napísal Aries: 03.02.2008 20:39 | |
|
Mam taky cudny problem, s ktorym si neviem dat rady - mam spravit jednoduchy program, ktory nacita n cisel a potom ich vypise, a zaroven najde najvacsie a najmensie cislo z tohoto pola... problem je v tom, ze ked je najvacsie alebo najmensie cislo na prvom mieste v poli, tak to spravi uplnu hovadinu, netusim z akeho dovodu, proste tam neviem najst chybu... Pravdaze by sa program dal napisat aj inak (a hadam by uz isiel spravne), ale ide mi o to aby som odhalil tu chybu ktoru tam mam teraz, velmi ma zaujima kde je vlastne problem. Mozno to je napisane trochu dementne, ale to teraz prosim nerieste Zdrojak je tu:
Kód: program polia; uses crt; var pole:array[1..20] of integer; min,max:integer; i,n:byte;
begin clrscr; write('Zadaj pocet cisel v poli: '); readln(n); gotoxy(1,3); writeln('Teraz zadaj ',n,' cisel:'); readln(pole[1]); for i:=2 to n do begin readln(pole[i]); if (pole[i]) > (pole[i-1]) then max:=pole[i] else max:=pole[i-1]; if (pole[i]) < (pole[i-1]) then min:=pole[i] else min:=pole[i-1]; end; clrscr; for i:=1 to (n-1) do write(pole[i],' '); writeln(pole[n]); writeln('Najmensie cislo bolo ',min); write('Najvacsie cislo bolo ',max); repeat until keypressed; end.
|
|
Registrovaný: 24.07.05 Prihlásený: 20.10.13 Príspevky: 25 Témy: 5 |
Kód: program polia; uses crt; var pole:array[1..20] of integer; min,max:integer; i,n:byte;
begin
clrscr; write('Zadaj pocet cisel v poli: '); readln(n); writeln('Teraz zadaj ',n,' cisel:');
readln(pole[0]); max:=pole[0]; min:=pole[0];
for i:=1 to (n-1) do begin readln(pole[i]); if (pole[i]) > max) then max:=pole[i] else if (pole[i]) < min) then min:=pole[i]; end; clrscr;
for i:=0 to (n-1) do write(pole[i],' '); writeln('Najmensie cislo bolo ',min); write('Najvacsie cislo bolo ',max); repeat until keypressed; end.
nemam rad paskala
nepamatam sa ci paskal indexuje polia od nuly, ak nie tak si to oprav v cykle
celkovo chybu mas v tych podmienkach porovnavas posledne dva prvky
si zober napr
500 20 11 200 15
najprv porovnas 500 a 20 maximum bude 500
potom vlozis 11 a budes porovnavat s predchadzajucim prvkom cize s 20 maximumu bude 20
potom zase vlozis 200 porovnas s 11 maxumum bude 200
paralerne bude ten druhy prvok s dvojice pole[i] a pole[i-1] minimum
|
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|