Encontrar posicion de un numero en un vector , delphi basico 
Tuesday, July 31, 2012, 07:10 PM - Delphi
Este programa nos devolvera la posicion en la que se encuentra un numero dentro de un vector, el progama tendra un ciclo que ira buscando desde la posicion "1" en el vector hasta la dimension "N" del vector y en cada ciclo preguntara si es el numero buscado,el ciclo terminara cuando I=N o cuando se encuentre el numero
para mayor claridad usaremos el Procedimiento anteriormete implementado
que son "CARGAR Y MOSTRAR VECTOR"}







program Project;

{$APPTYPE CONSOLE}

uses
SysUtils;

//este es el procedimento CARGAR VECTOR
procedure cargar(var v: array of integer; n:integer);
var i:integer;
begin
for I := 1 to n do begin
v:=Random(9); //lo voy a cargar con valores aleatorios entre 0 y 9
end;
end;
//este es el procedimiento mostrar vector
procedure mostrar(var v:array of integer; n:integer);
var i:integer;
begin
write('v[');
for I := 1 to n do begin
write(v,' ');
end;
writeln(']');
end;
//****************funcion principal*******************
{la funcion necesita un vector "V" en el cual se va a buscar el numero
"X" que queremos encontrar y la dimension "N" del vector}
function buscar(v:array of integer; n:integer; x:integer): Integer;
{usamos "I" como variable de control y "POS" para almacenar la posicion}
var i,pos:integer;
begin
i:=1;
pos:=0;
{utilizamos un ciclo "wile" y en la condicion para el ciclo
pedimos que gire solo si "I" es menor a la dimension N del vector
y Pos es 0(es decir que no lo hemos encontrado aun) }
while ((i<=n) and (pos=0)) do
begin
{aqui pregunta si en la posicion "I" del vector esta el numero "X"}
if v=x then
{si es verdadero en "POS" se guarda la POSICION "I" del vector
entonces "POS" es diferente de cero y detiene el ciclo}
begin
pos:=i;
end;
i:=i+1;
end;
result:=pos;

end;
//****************programa prinsipal*******************
var v: array [1..100] of integer;
x,n:integer;
begin
writeln('cual es la dimension del vector?');
readln(n);
writeln('cargaremos el vector con datos aleatorios');
cargar(v,n);
writeln('su vector es');
mostrar(v,n);
writeln('que numero quiere buscar?');
readln(x);

Comentarios

Agregar comentario

Rellene los campos de abajo para dejar su comentario.









Extras (Negrita / Cursiva / URL / Imagen):








En este blog está activada la moderación. Tu comentario requiere que los administradores lo aprueben antes de hacerse visible.