
Pascal, alguna ayuda con esta funcion
Publicado por Federico (10 intervenciones) el 12/11/2013 01:33:23
Escribir una función que devuelva el producto de los dígitos impares de un número entero.
Valora esta pregunta


0
program matrizes;
uses
crt;
const
mx = 5;
nx = 5;
type
matriz = array[1..mx,1..nx] of byte;
var
matrz : matriz;
resu, nume : integer;
function producto : integer;
var
n1, num3, nn, clg1, clg2 : longint;
num : array[1..12] of integer;
se, w : integer;
begin
write(' Entra Numero Entero : ');
readln(n1);
producto := 0;
clg1 := n1 mod 10;
nn := n1;
num3 := 0;
clg2 := 0;
w := 1;
while nn > 0 do
begin
num3 := nn mod 10;
nn := nn div 10;
clg2 := (clg2 * 10) + num3;
se := 0;
se := clg2 mod 10;
if se mod 2 = 0 then
else
begin
num[w] := se;
w := w + 1;
end;
end;
num3 := 0;
for se := 1 to w - 1 do
num3 := num3 + num[se];
producto := num3;
writeln;
end;
procedure presenta_matriz(a : matriz);
var
vv, gg : integer;
begin
for vv := 1 to nx do
begin
for gg := 1 to mx do
begin
write(' ',a[gg,vv]);
end;
writeln;
end;
end;
procedure elimina_central(d : matriz);
var
p, c, t : integer;
begin
for c := 1 to nx do
for t := 1 to mx do
d[t,c] := 1;
writeln(' La Matriz Es ');
writeln;
presenta_matriz(d);
writeln;
c := 0;
t := round(nx / 2);
for p := 1 to nx do
d[c + p,t] := 0;
writeln(' La Borrada queda ');
writeln;
presenta_matriz(d);
end;
begin
clrscr;
resu := producto;
writeln(' Producto De Los Digitos Impares Es : ',resu);
writeln;
elimina_central(matrz);
readkey;
end.