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
program NajSpolDelitel;
uses crt;
var NUMBER1, NUMBER2: longint;
{******PODPROGRAM******}
function DELITEL (A, B: longint):longint;
var C:longint;
begin
while B <> 0 do
begin
C := A mod B;
A := B;
B := C
end;
DELITEL := A;
end;
{******HLAVNY PROGRAM******}
begin
ClrScr;
WriteLn('(Program na urcenie najvacsieho spolocneho delitela 2 cisiel) Zadaj 2 prirodzenecisla.');
Read(NUMBER1);
Write(' ');
Read(NUMBER2);
WriteLn('Najvacsi spolocny delitel je ',DELITEL(NUMBER1, NUMBER2),'.');
ReadLn
end.
-takto sa program ukončí aj ked nerozumiem prečo...chcem docielit toho, aby po zadani NUJMBER1 urobil program medzeru a uživatel vloží len NUMBER2 bez stlačenia Enteru či medzerniku.
-ak pridám ešte jeden ReadLn program funguje, takisto ak zmenim Read(NUMBER2); ReadLn funguje
-ale stále robí automaticky medzeru a Read NUMBER2 na novy riadok pri čom nie je napisane ReadLn(NUMBER2);, ak tak je program robí dva riadky, nechápem teraz ako vôbec tie príkazy fungujú, niečo mi riadne uniká...
Offline

↑ ExSh00t:
Pokud chápu tvůj problém... tak možná využij tohoto:
Readln, writeln odřídkuje - tj. přečte/vypíše a udělá ENTER
exituje ještě write a read, který jen přečte/vypíše a mezeru neudělá, ale tu vložíš jednoduše pomocí write(' ')
Offline
↑ ExSh00t:
Zkus hlavní program takto:
begin
ClrScr; //to tam asi ani nemusí být
WriteLn(' Program na urcenie najvacsieho spolocneho delitela 2 cisiel');
Write(' Zadaj 2 prirodzene cisla, oddelene medzerou ');
ReadLn(NUMBER1,NUMBER2);
WriteLn(' Najvacsi spolocny delitel je ',DELITEL(NUMBER1,NUMBER2),'.');
ReadLn; //čeká na ENTER a pak skončí
end.
Samozřejmě, až budeš vkládat ta dvě čísla, tak je napíšeš na jeden řádek, uděláš mezi nimi mezeru a potom dáš ENTER.
Po editaci
A nebo takto:
begin
ClrScr; //to tam asi ani nemusí být
WriteLn(' Program na urcenie najvacsieho spolocneho delitela 2 cisiel');
WriteLn(' Zadaj 2 prirodzene cisla ');
Write(' ');
ReadLn(NUMBER1);
Write(' ');
ReadLn(NUMBER2);
WriteLn(' Najvacsi spolocny delitel je ',DELITEL(NUMBER1,NUMBER2),'.');
ReadLn;
end;
Tady ale stejně budeš muset vždy po zadání čísla dát ENTER.
Offline