Pascal/Turbo Pascal - Ayuda con este codigo, for de char a char!!

 
Vista:

Ayuda con este codigo, for de char a char!!

Publicado por Federico (1 intervención) el 09/07/2012 16:26:24
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
program aviones (input,output);
uses crt;
var i, j, cod_avion: char; tiempo_vuelo, aux: real; a: array ['A'..'L'] of real;
begin
     for i:= 'A' to 'L' do a[i]:=0;
     write('Ingrese codigo de avion, fuera de rango finaliza: ');
     readln(cod_avion);
     while (cod_avion>='A')and(cod_avion<='L') do begin
                                                       write('Ingrese duracion del viaje: ');
                                                       readln(tiempo_vuelo);
                                                       a[cod_avion]:= a[cod_avion] + tiempo_vuelo;
                                                       write('Ingrese codigo de avion, fuera de rango finaliza: ');
                                                       readln(cod_avion);
                                                  end;
     for i:='A' to 'K' do
                         for j:='K' to i do
                                           if a[j]<[j+1] then begin
                                                                   aux:=a[j+1];
                                                                   a[j+1]:=a[j];
                                                                   a[j]:= aux;
                                                               end;
     writeln('Codigo.Avion':14,' Horas de vuelo':16);
     for i:='A' to 'L' do
                         writeln(i:14 , a[i]:16:2);
     readkey;
end.


Mi duda esta en la parte donde hago el ordenamiento de los datos. Como hago para sumarle 1 a un char? es decir que pase a ser el siguiente caracter?

1
2
3
4
5
6
7
for i:='A' to 'K' do
                         for j:='K' to i do
                                           if a[j]<[j+1] then begin
                                                                   aux:=a[j+1];
                                                                   a[j+1]:=a[j];
                                                                   a[j]:= aux;
                                                               end;


aquí j(jota) esta declarada como char, pero yo necesito recorrer el arreglo para ordenarlo de mayor a menor y no se como aumentar en uno a j!
Espero que puedan ayudarme! Gracias y Saludos
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 este codigo, for de char a char!!

Publicado por ramon (2158 intervenciones) el 09/07/2012 18:27:09
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
{Mira tu programa corregido a ver si vale}
 
program aviones (input,output);
uses
  crt;
var
 i, j, cod_avion : char;
 tiempo_vuelo, aux : real;
 a : array ['A'..'L'] of real;
begin
     clrscr;
     for i := 'A' to 'L' do
     a[i] := 0.0;
     write('Ingrese codigo de avion, fuera de rango finaliza: ');
     cod_avion := upcase(readkey);
     while (cod_avion >= 'A') and (cod_avion <= 'L') do
     begin
     write('Ingrese duracion del viaje: ');
     readln(tiempo_vuelo);
     a[cod_avion] := a[cod_avion] + tiempo_vuelo;
     write('Ingrese codigo de avion, fuera de rango finaliza: ');
     cod_avion := upcase(readkey);
     end;
     for i := 'A' to 'L' do
       for j := 'L' downto i do
       if a[j] > a[i] then
       begin
         aux := a[i];
         a[i] := a[j];
         a[j] := aux;
       end;
        writeln('Codigo.Avion':14,' Horas de vuelo':16);
     for i := 'A' to 'L' do
      writeln(i : 14 , a[i] : 16 : 2);
     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