cap4_p1ej7

mail@pastecode.io avatar
unknown
pascal
3 years ago
1.7 kB
2
Indexable
Never
program cap4_1ej7;
const
	dimF=9;
type
	rango=0..dimF;
	vContador=array [rango]of integer;
	
	
procedure iniVector (var vc:vContador);
var
	i:integer;
begin
	for i:=0 to dimF do
	begin
		vc[i]:=0;
	end;
end;
	
procedure leerDatos(var vc:vContador);
var
	num:integer;
begin
	writeln('Ingrese un numero ');readln(num);
	while (num<>-1)do
	begin
		vc[num]:=vc[num]+1;
		writeln('Ingrese un numero ');readln(num);
	end;
end;

procedure informar (v:vContador);
var 
	i:integer;
begin
	for i:=0 to dimF do 
	begin
		if (v[i]>1) then
			writeln('El numero ',i,': ',v[i],' veces')
		else if (v[i]=1)then
			writeln('El numero ',i,': ',v[i],' vez');
	end;
end;

procedure maxLeido (v:vContador);
var
	i,max,dML:integer;
begin
	max:=1;
	for i:=0 to dimF do
	begin
		if (v[i]>max) then
		begin
			v[i]:=max;
			dML:=i;
		end;
	end;
	if (dML=0)then
		writeln('No hubo digito mas leido ')
	else
		writeln('El digito mas leido fue el ',dML);
end;

procedure ocurrencias (v:vContador);
var
	i,ultimo:integer; paso:boolean;
begin
	paso:=false;
	write('Los digitos que no tuvieron ocurrencias son: ');
	
	for i:=0 to dimF do 
	begin
		if (v[i]=0)then
			ultimo:=i;
	end;
	
	for i:=0 to ultimo do 
	begin
		if (v[i]=0) then
		begin
			if (i<>ultimo)then
			begin
				write(' ',i);
				if (paso=false) then
				begin
					paso:=true; 
					write(',');
				end
				else 
					write(',');
			end;
		end;
	end;
	write(' ',ultimo);
end;

//programa principal

VAR
	v:vContador;

BEGIN
	iniVector (v);
	LeerDatos (v);
	informar (v);
	maxLeido (v);
	ocurrencias (v);
END.