Untitled
unknown
pascal
3 years ago
3.1 kB
4
Indexable
program cap2ej4; //empieza desde el 4 poruque siguen los numeros desde el 3 del cap 1 type lista=^nodo; nodo=record dato:integer; sig:lista; end; procedure agregarAt (var l:lista; num:integer); var ant,act,nue:lista; begin new(nue); nue^.dato:=num; nue^.sig:=nil; if l=nil then l:=nue else begin act:=l; ant:=l; while (act<>nil) do begin ant:=act; act:=act^.sig; end; ant^.sig:=nue; end; end; procedure cargarDatos (var l:lista); var num:integer; begin writeln('Ingrese un numero'); readln(num); while num<>-1 do begin agregarAt(l,num); writeln('Ingrese un numero'); readln(num); end; end; procedure imprimirDatos (l:lista); begin if l<>nil then begin writeln(l^.dato); imprimirDatos(l^.sig); end; end; procedure Minimo (l:lista;var min:integer); begin if(l<>nil)then begin if (l^.dato < min) then min:=l^.dato; Minimo(l^.sig,min); end; end; function Min2(l:lista; var min:integer):integer; begin if(l<>nil)then begin if(l^.dato<min)then min:=l^.dato; Min2(l^.sig,min); Min2:=min; end; end; function min3 (l:lista):integer; begin if (l<>nil)then begin min3:=l^.dato; if (min3(l^.sig) < min3(l))then min3:=l^.dato; l:=l^.sig; end; end; function min4(l:lista):integer; begin end; procedure encontr (l:lista; num:integer;var sino:boolean); begin if(l<>nil)and(l^.dato = num) then begin sino:=true; end else if (l<>nil) then encontr(l^.sig,num,sino); end; function encontr3(l:lista; num:integer):boolean; begin if (l<>nil)then begin if(l^.dato = num)then encontr3:=true else begin if (encontr3(l^.sig, num)) then encontr3:=true else encontr3:=false; end; end else encontr3:=false; end; //programa principal var l:lista; min,num,max:integer; sino:boolean; begin l:=nil; cargarDatos(l); imprimirDatos(l); min:=32000; Minimo(l,min); writeln('Minimo: ',min); min:=32000; writeln('minimo2: ',Min2(l,min)); writeln('ingrese un numero para saber si esta '); readln(num); {if(encontrar(l,num)=true)then writeln('Se encontro el numero ',num) else writeln('No se encontro el numero ',num);} { sino:=false; encontr(l,num,sino); if(sino)then writeln('Se encontro el numero ',num) else writeln('No se encontro el numero ',num); sino:=false; } if(encontr3(l,num))then writeln('Se encontro el numero ',num) else writeln('No se encontro el numero ',num); end.
Editor is loading...