W FreePascalu
Napisz program, który:
1) Oblicza NWD 5 liczb naturalnych zapisanych w pliku liczby.txt.
Wynik zapisz do pliku nwd_5.txt.
Wskazówka: spróbuj najpierw znaleźć NWD trzech liczb.
* dla ambitnych: znaleźć NWD dla n liczb, gdzie n jest dowolnie duże.
2) Wyrysuj na ekranie ramke kolorową
(przykładowe wywołanie procedury rysującej ramkę:
ramka(dlugosc,szerokosc,kolor). Np. ramka(30,50,red))

1

Odpowiedzi

2010-03-22T20:32:54+01:00
Program N_W_D;
uses wincrt; {nie wiedziałem jaki jest moduł we freepascalu, jak jest inny niż wnicrt to sobie zmień}
var
f:text;
tekst:string;
a:integer;
n,i,j,l,max:word;
liczba:array[1..10000]of word;
{--------------------------------------------}
procedure pobieranie_z_pliku;
begin
assign(f,'liczby.txt');
reset(f);
while not eof(f) do begin
inc(n);
readln(f,tekst);
val(tekst,liczba[n],a);
end;
close(f);
end;
{--------------------------------------------------}
begin
pobieranie_z_pliku;
for i:=1 to n do begin
if max<liczba[i] then max:=liczba[i];
end;
for i:=max downto 1 do begin
l:=0;
for j:=1 to n do if (liczba[j] mod i)=0 then l:=l+1;
if l=n then begin
assign(f,'nwd_5.txt');
rewrite(f);
writeln(f,'NWD: ',i);
close(f);
halt;
end;
end;
end.
1 1 1