Zdravím,
mám zadání zhruba takto:
Na vstupu máte dvojice celočíselných hodnot, zjistěte, která hodnota je větší.
Ukončení je dvojicí 0 0.
Vypiš nejmenší hodnotu z B a pořadové číslo dvojic, ve kterých bylo A > B.
S tím posledním si nevím rady, jinak jsem to spáchal cca takto:
uses crt;
var a,b,PD,min :integer;
begin
min:=maxint;
PD:=0;
writeln('zadej A');
readln(a);
writeln('zadej B');
readln(b);
while ((a<>0) or (b<>0)) do
begin
if a>b then writeln('A je větší jak B')
else writeln('A není větší jak B');
if b<min then min:=b;
readln(a,b);
end;
writeln('minimální hodnota z B: ' ,min);
readln;
end.
Fórum › Pascal
Hodnoty
Vzhledem k povaze zadání asi žádné složitosti nemáš vymýšlet, nebo-li si založ proměnou, ve které bude pořadové číslo (v každém průchodu cyklem se inkrementuje). Pak už jenom přidáš podmínku a případné vypsání hlášky s touto proměnou.
@KIIV : ten kod nahore jsem dělal já!
Spíš nechápu tohle: v každém průchodu cyklem se inkrementuje
tak jak přiřadit hodnotu nějaké proměnné vím to je :=
tzn... udělal bych to, že do toho cyklu bych přidal něco jako a přidal další proměnou např CD (číslo dvojice) :
PD - počet dvojic (měl jsem to tam nachystané, ale nevím jak do té proměnné uložit více čísel než jedno)
PD:=PD+1;
a nějak bych změnil podmínku:
if a>b then begin
writeln('A je větší jak B');
CD:=PD // ale vůbec nevím jak to udělat, aby se neustále to CD nepřepisovalo, ale vždy se tam ta hodnota PD přidala
end;
else writeln('A není větší jak B');
tudíž ještě pro přehlednost by nový kód vypadal cca takto:
uses crt;
var a,b,PD,min :integer;
begin
min:=maxint;
PD:=0;
writeln('zadej A');
readln(a);
writeln('zadej B');
readln(b);
while ((a<>0) or (b<>0)) do
begin
PD:=PD+1;
if a>b then begin
writeln('A je větší jak B');
CD:=PD;
end;
else writeln('A není větší jak B');
if b<min then min:=b;
readln(a,b);
end;
writeln('minimální hodnota z B: ' ,min);
writeln('A>B ve dvojicích číslo: ' ,CD );
readln;
end.
Omlouvám se za zmatenost atd. Pascala se učím chviličku (popravdě pár nocí před testem).
Díky za rady!
To je jedno, jestli to prvně vypíše to a nebo to... tam jde ale jen o prohození řádků ne?
Právě že kdyby stačilo pokaždé popsat jen tu pozici, tak tam vlastně vypíšu hodnotu proměnné PD....
Napadlo mě nějak ty čísla zapisovat do souboru a pak je z něj načíst, ale nevím jak to udělat... :(
Tvoje myšlenky vedou na pole (místo toho souboru), ale už nevíš kolik jich nakonec bude, takže spíš na spojitý seznam, a to je jiná liga (na tu tohle zadání nevypadá). Normálně to v tom cyklu i vypisuj (PD), když bude podmínka splněná a po skončení cyklu vypiš to B. Zbytečně si to nekomplikuj, podle mě máte pochopit, že je něco nutné dělat v cyklu a něco až po jeho skončení :)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Hodnoty vo fc. mysql_stat() — založil marioff
Přiřazení hodnoty — založil Midnight
Výběr hodnoty — založil Hranicarrr
Mezní hodnoty — založil Lukas
Skopirovanie hodnoty — založil xxx7691
Moderátoři diskuze