Pascal/Turbo Pascal - Ayuda con ejercicio de array!!

   
Vista:
Imágen de perfil de Jorge

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con ejercicio de array!!

Publicado por ramon (39 intervenciones) el 29/06/2014 00:34:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{Mira esta modificación}
 
program tarea;
uses crt;
var arreglo: array['A'..'F'] of integer;
 j,aux: integer;
 k, i : char;
Begin
clrscr;
writeln('Ingrese los datos');
writeln;
 
(* Se capturan los datos*)
for i:='A' to 'F' do
begin
write('Ingrese los numeros ',i,' : ');
readln(arreglo[i]);
end;
 
(* Se ordenan los datos *)
for i:='A' to 'F' do
begin
for k := i to F do
begin
if (arreglo[k] < arreglo[i]) then
begin
  aux := arreglo[k];
  arreglo[k] := arreglo[i];
  arreglo[i]:=aux;
   end;
  end;
 end;
 
(* se imprime el arreglo *)
writeln('La lista de numeros ordenados descendentemente es:');
for i := 'A' to 'F' do
begin
write('[',arreglo[i],'] ');
end;
readkey;
 
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jorge

Ayuda con ejercicio de array!!

Publicado por Jorge (11 intervenciones) el 29/06/2014 01:17:22
Muchas gracias! por responder
pero no me compila, me da un error en la linea
"for k := i to F do "
pero ya me da masomenos una idea de como ibas a ponerlo. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ejercicio de array!!

Publicado por ramon (39 intervenciones) el 30/06/2014 00:35:47
1
2
3
4
5
6
7
8
9
10
11
12
13
{Disculpa mi fallo tienes razon falta
for k := i to 'F' do  {las comillas}
begin
if (arreglo[k] < arreglo[i]) then
begin
  aux := arreglo[k];
  arreglo[k] := arreglo[i];
  arreglo[i]:=aux;
   end;
  end;
 end;
 
disculpa suerte}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jorge

Ayuda con ejercicio de array!!

Publicado por Jorge (11 intervenciones) el 30/06/2014 02:31:07
MUCHISIMAS GRACIAS!
A seguir practicando :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar