Turbo Pascal : resultats irreguliers
dimi3
Messages postés
269
Date d'inscription
Statut
Membre
Dernière intervention
-
dimi3 Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
dimi3 Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Le petit programme ci-dessous en Turbo Pascal est censé ranger par ordre alphabétique les 6 lettres entrées. Quand on entre les lettres "s d f g h j", le programme les range parfaitement en ordre alphabétique. Quand on entre les lettres "q a w z c f", les lettres ne sortent pas rangées selon l'alphabet. Comment cela s'explique-t-il ?
program alphabet
uses wincrt;
var
tablo : array[1..6] of char;
i : integer ;
j: integer;
x : char;
begin
clrscr ;
{-----entrer-----}
ensemble := '';
i := 1 ;
for i := 1 to 6 do
begin
write('Lettre ',i, ': ');
readln(tablo[i]);
end;
writeln(' ');
writeln('Les lettres proposées sont : ',tablo);
writeln(' ');
{----- ranger-----}
j:=1;
for i:=6 downto i do
begin
for j:=1 to i-1 do
if tablo[j]>tablo[j+1] then
begin
x:=tablo[j+1];
tablo[j+1]:=tablo[j];
tablo[j]:=x;
end;
end;
{-----afficher-----}
writeln('Lettres rangées par ordre alphabétique :');
writeln(' ');
for i := 1 to 6 do
writeln('Lettre ',i,' : ',tablo[i]);
end.
---------
Merci de votre avis
Le petit programme ci-dessous en Turbo Pascal est censé ranger par ordre alphabétique les 6 lettres entrées. Quand on entre les lettres "s d f g h j", le programme les range parfaitement en ordre alphabétique. Quand on entre les lettres "q a w z c f", les lettres ne sortent pas rangées selon l'alphabet. Comment cela s'explique-t-il ?
program alphabet
uses wincrt;
var
tablo : array[1..6] of char;
i : integer ;
j: integer;
x : char;
begin
clrscr ;
{-----entrer-----}
ensemble := '';
i := 1 ;
for i := 1 to 6 do
begin
write('Lettre ',i, ': ');
readln(tablo[i]);
end;
writeln(' ');
writeln('Les lettres proposées sont : ',tablo);
writeln(' ');
{----- ranger-----}
j:=1;
for i:=6 downto i do
begin
for j:=1 to i-1 do
if tablo[j]>tablo[j+1] then
begin
x:=tablo[j+1];
tablo[j+1]:=tablo[j];
tablo[j]:=x;
end;
end;
{-----afficher-----}
writeln('Lettres rangées par ordre alphabétique :');
writeln(' ');
for i := 1 to 6 do
writeln('Lettre ',i,' : ',tablo[i]);
end.
---------
Merci de votre avis
A voir également:
- Turbo Pascal : resultats irreguliers
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Turbo sim inconvénient - Forum iPhone
- Turbo meeting - Télécharger - Messagerie
1 réponse
Du nouveau :
si je fais tourner le programme ci-dessus sous windows, j'obtiens les problèmes décrits dans le message précédent (les lettres ne sont pas toujours rangées par ordre alphabétique). Si je fais tourner le programme sous DOS, le programme range les lettres par ordre alphabétique quelles que soient les lettres choisies. Souhaitant faire tourner mon programme sous windows, comment solutionner le problème ?
merci
si je fais tourner le programme ci-dessus sous windows, j'obtiens les problèmes décrits dans le message précédent (les lettres ne sont pas toujours rangées par ordre alphabétique). Si je fais tourner le programme sous DOS, le programme range les lettres par ordre alphabétique quelles que soient les lettres choisies. Souhaitant faire tourner mon programme sous windows, comment solutionner le problème ?
merci