conic [ Centurion ]
pascal
siema mam kolejny problem w pascalu. Mianowicie mam za zadanie wyznaczyć teraz a,b (czyli liczby wprowadzone przez uzytkownika, pytanie banalne dla niektórych, ale jak to zrobic? :P
uses crt;
var a,b:integer;
begin
clrscr;
writeln('wprowadz pierwsza liczbe');
readln(a);
writeln('wprowadz druga liczbe');
readln(b);
WHILE a<>b do
if a>b then
a:=a-b
else b:=b-a;
writeln('najwyzszy wspolny dzielnik jest ronwy: ',a);
readln;
end.
ed. no bo tak. to jest program, ktory liczy najwiekszy wspolny dzielnik i mam teraz go ulepszyc tak, aby podal jeszcze liczby wprowadzone przez uzytkownika( a i b)
pagare [ Legionista ]
co dokładnie masz zrobić?
jagged_alliahdnbedffds [ Rock'n'Roll ]
Przypisujesz na początku, po podaniu liczb, te liczby jakimś zmiennym, np. temp1, temp2. Na końcu piszesz:
writeln('Dla liczb: ',temp1,' i ',temp2,' wprowadzonych przez uzytkownika, NWD wynosi: ',a);
NWD robi się dużo prościej funkcją rekurencyjną:
function NWD(a,b:integer):integer;
begin
if b=0 then NWD:=a else NWD(b,a mod b);
end;
conic [ Centurion ]
[3] dzieki ale
jak przypisuje?
tak?
a=temp1;
b=temp2;
ed. ok juz sobie poradzilem :), dzieki
powinno byc temp1:=a
temp2:=b
DEXiu [ Senator ]
jagged ==> Nie ucz złych nawyków (rekurencja ogonowa) ;)