Algoritmos de Vectores en Pascal: Inversión, Búsqueda y Patrones
Enviado por Programa Chuletas y clasificado en Inglés
Escrito el en español con un tamaño de 3,26 KB
Invertir un Vector
Este programa invierte el orden de los elementos en un vector de 10 elementos.
BEGIN
writeln('Vamos a introducir 10 elementos en un vector');
writeln;
for i:=1 to 10 do
begin
write('Elemento ',i,': ');
readln(v[i]);
end;
for i:=1 to 10 do
w[10-i+1]:=v[i];
CLRSCR;
writeln('El vector original es: ');
writeln;
for i:= 1 to 10 do
write(v[i]:5);
writeln;
writeln;
writel('Y el resultante: ');
writeln;
for i:= 1 to 10 do
write(w[i]:5);
readln;
readln;
END.
Buscar Número Negativo en un Vector
Este programa busca el primer número negativo en un vector de números reales.
Program EjemploVector;
const
rango=10;
type
vector=array[1..rango] of real;
var
v:vector;
i,n,pos:integer;
BEGIN
writeln('Vamos a introducir números reales en un vector');
writeln;
write('Número de elementos del vector (Max ',rango,'): ');
readln(n);
writeln;
for i:=1 to n do
begin
write('Elemento ',i,': ');
readln(v[i]);
end;
pos:=0;
repeat
pos:=pos+1;
until(v[pos]<0) or (pos=rango);
writeln('El vector original es: ');
writeln;
for i:=1 to n do
write(v[i]:7:1);
writeln;
writeln;
if (v[pos]<0) then
begin
write('El primer elemento negativo es: ',v[pos]:0:1);
writeln(', y ocupa la posición: ',pos);
end
else
writeln('No hay elementos negativos');
readln;
readln;
END.
Detectar Caracteres Repetidos en un Vector
Este programa determina si hay caracteres repetidos en un vector de caracteres.
type
vector=array[1..20] of char;
var
v:vector;
i,j,n:integer;
repetido:boolean;
BEGIN
repeat
write('Número de elementos del vector (Max 20): ');
readln(n);
until (n>0) AND (n<=20);
writeln;
for i:=1 to n do
begin
write('Elemento ',i,': ');
readln(v[i]);
end;
writeln('El vector original es: ');
writeln;
for i:=1 to n do
write(v[i]:5);
writeln;
writeln;
repetido:=false;
for i:=1 to n-1 do
for j:=i+1 to n do
if v[i]=v[j] then
repetido:=true;
if repetido then
write('Hay elementos repetidos')
else
writeln('No hay elementos repetidos');
readln;
readln;
END.
Patrón Numérico Escalonado
Este programa imprime un patrón numérico escalonado basado en un número impar positivo introducido por el usuario.
begin
write('Introduce un número positivo impar: ');
readln(num);
medio:=num div 2+1;
for i:=num downto medio do
begin
for j:=1 to num-i do
write(' ');
writeln(i);
end;
readln;
readln;
end.
Posiciones de Números Mayores a un Valor Dado
Este programa encuentra y muestra las posiciones de los números en un vector que son mayores que un valor especificado por el usuario.
begin
write('Introduce el número de elementos del vector: ');
readln(n);
write('Introduce la posición del número que elijas: ');
readln(num);
for i:=1 to n do
begin
write('Introduce el elemento ',i,' del vector: ');
readln(v[i]);
end;
write('Las posiciones de los números mayores que ',v[num],' son: ');
for i:=1 to n do
if v[i]>v[num] then
write(i:2);
readln;
readln;
end.