Mcd de una serie de numeros
Lagoritmno qe implementa el calculo del mcd de una serie de numeros
Descrição
Lagoritmno qe implementa el calculo del mcd de una serie de numeros
program mcd_de_una_serie_de_numeros;
uses crt;
type
cadena=string[15];
arraynum=array[1..50] of longint;
var
numeros:arraynum;
i:integer;
procedure ingresar_numeros(var numeros:arraynum;var i:integer);
var
codigo :integer;
digito :char;
cadnum:cadena;
auxnum:longint;
begin
writeln('ingrese los numeros, pulse ESC para terminar ');
i:=0;
repeat
cadnum:='';
repeat
digito:=readkey;
if digito in ['0'..'9'] then
begin
writeln(digito);
cadnum:=cadnum+digito+#13;
end;
until (digito=#13) or (digito=#27);
write('');
val(cadnum,auxnum,codigo);
i:=i+1;
numeros[i]:=auxnum;
until digito=#27
end;
function mcd(numeros :arraynum;i:integer):longint;
var
j:integer;
temp:longint;
begin
{MAXIMO COMUN DIVISOR DE DOS NUMEROS}
for j:=1 to i-1 do
while (numeros[j] mod numeros[j+1]<>0) do
begin
temp:=numeros[j];
numeros[j]:=numeros [j+1];
numeros[j+1]:=temp mod numeros[j+1];
end;
mcd:=numeros[j+1];
end;
BEGIN
repeat
clrscr;
writeln('Maximo comun divisor de una serie de numeros');
ingresar_numeros(numeros,i);
writeln('');
writeln('El MCD es :',mcd(numeros,i));
write('Desea ingresar mas datos (S/N)');
until upcase(readkey)='N';
END.
:)