
Ayuda con ejercicio de array!!
Publicado por Jorge (11 intervenciones) el 28/06/2014 13:42:22
Buenas tardes, mi programa es sobre ingresar 6 numeros los cuales se llaman de la "A" a la "F" y ordenarlos de manera descendente, eso si sirve pero tengo un problemilla y es que por alguna razon no logro que se capturen los datos que ingresa el usuario en un orden de uno en uno cuando se le pregunta por mensaje, Quiero que sea asi:
write('Ingrese el numero "A" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "B" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "C" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "D" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "E" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "F" ',i,': ');
readln(arreglo[i]);
si lo pongo de la manera anterior, me lee un total de 36 numeros cuando en realidad necesito solo 6, es por eso que tuve que poner 'Ingrese los numeros A,B,C,D,E,F: ' . si me puderan ayudar con mi duda/problema les estare agradecido, les dejo lo que he hecho hasta el momento.
---------------------------------------------
program tarea;
uses crt;
var arreglo: array[1..6] of integer;
i,j,aux: integer;
Begin
clrscr;
writeln('Ingrese los datos');
writeln;
(* Se capturan los datos*)
for i:=1 to 6 do
begin
write('Ingrese los numeros A,B,C,D,E,F: ');
readln(arreglo[i]);
end;
(* Se ordenan los datos *)
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
if (arreglo[j]<arreglo[j+1]) then
begin
aux:=arreglo[j];
arreglo[j]:=arreglo[j+1];
arreglo[j+1]:=aux;
end;
end;
end;
(* se imprime el arreglo *)
writeln('La lista de numeros ordenados descendentemente es:');
for i:=1 to 6 do
begin
write('[',arreglo[i],'] ');
end;
readkey;
end.
write('Ingrese el numero "A" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "B" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "C" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "D" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "E" ',i,': ');
readln(arreglo[i]);
write('Ingrese el numero "F" ',i,': ');
readln(arreglo[i]);
si lo pongo de la manera anterior, me lee un total de 36 numeros cuando en realidad necesito solo 6, es por eso que tuve que poner 'Ingrese los numeros A,B,C,D,E,F: ' . si me puderan ayudar con mi duda/problema les estare agradecido, les dejo lo que he hecho hasta el momento.
---------------------------------------------
program tarea;
uses crt;
var arreglo: array[1..6] of integer;
i,j,aux: integer;
Begin
clrscr;
writeln('Ingrese los datos');
writeln;
(* Se capturan los datos*)
for i:=1 to 6 do
begin
write('Ingrese los numeros A,B,C,D,E,F: ');
readln(arreglo[i]);
end;
(* Se ordenan los datos *)
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
if (arreglo[j]<arreglo[j+1]) then
begin
aux:=arreglo[j];
arreglo[j]:=arreglo[j+1];
arreglo[j+1]:=aux;
end;
end;
end;
(* se imprime el arreglo *)
writeln('La lista de numeros ordenados descendentemente es:');
for i:=1 to 6 do
begin
write('[',arreglo[i],'] ');
end;
readkey;
end.
Valora esta pregunta


0