Turbo Pascal : resultats irreguliers
dimi3
Messages postés
278
Statut
Membre
-
dimi3 Messages postés 278 Statut Membre -
dimi3 Messages postés 278 Statut Membre -
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
- Le protocole assure que la communication entre l'ordinateur de pascal et le serveur de visiodoct est car les informations seront avant d'être envoyées. ✓ - Forum Pascal
- 3d turbo - Télécharger - 3D
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