Retourne à la ligne automatique
plopy
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
j'ai écris un programme en pascal qui permet d'afficher un tableau qui contient des chaînes de caractères, alors quand j'affiche le tableau à chaque fois il fait un retourne à la linge pour insérer l'élément suivant(la chaîne suivant), or que moi j'ai besoin de ces chaînes de caractère sur la même ligne l'une adjacente à l'autre;
alors svp si vous pouvez me répondre poster moi ici merci d'avance.
j'ai écris un programme en pascal qui permet d'afficher un tableau qui contient des chaînes de caractères, alors quand j'affiche le tableau à chaque fois il fait un retourne à la linge pour insérer l'élément suivant(la chaîne suivant), or que moi j'ai besoin de ces chaînes de caractère sur la même ligne l'une adjacente à l'autre;
alors svp si vous pouvez me répondre poster moi ici merci d'avance.
A voir également:
- Retourne à la ligne automatique
- Ecran retourne - Guide
- Réponse automatique thunderbird - Guide
- Partager photos en ligne - Guide
- Aller à la ligne excel mac - Guide
- Mètre en ligne - Guide
4 réponses
salut,
voilà le programme:
program ppp;
var
t1:array[1..15] of longint;
t2:array[1..15] of integer;
t,i,m,j:integer;
begin
write('comme bien votre tableau comporte_il de valeurs?');
read(m);
for i:=1 to m do
begin
write('comme bien l''entier contient-il de chiffres?');
read(t2[i]);
write('taper l''entier');
read(t1[i]);
end;
for i:=1 to m do
begin
write(chr(218));
for j:=1 to t2[i] do
write(chr(196));
writeln(chr(191));
write(chr(179));
write(t1[i]);
writeln(chr(179));
write(chr(192));
for j:=1 to t2[i] do
write(chr(196));
end;
end.
voilà le programme:
program ppp;
var
t1:array[1..15] of longint;
t2:array[1..15] of integer;
t,i,m,j:integer;
begin
write('comme bien votre tableau comporte_il de valeurs?');
read(m);
for i:=1 to m do
begin
write('comme bien l''entier contient-il de chiffres?');
read(t2[i]);
write('taper l''entier');
read(t1[i]);
end;
for i:=1 to m do
begin
write(chr(218));
for j:=1 to t2[i] do
write(chr(196));
writeln(chr(191));
write(chr(179));
write(t1[i]);
writeln(chr(179));
write(chr(192));
for j:=1 to t2[i] do
write(chr(196));
end;
end.
En fait l'affichage du tableau est super-kikoo.
Par exemple pour 1, 23, et 4567 dans le tableau, cela affiche (en simplifiant) :
J'imagine (grâce à mon super-pouvoir de divination) que le résultat attendu est ceci :
Dans ce cas il faudrait inverser l'ordre des boucles pour y arriver.
Par exemple pour 1, 23, et 4567 dans le tableau, cela affiche (en simplifiant) :
+-+ |1| +-+--+ |23| +--+----+ |4567| +----
J'imagine (grâce à mon super-pouvoir de divination) que le résultat attendu est ceci :
+-+--+----+ |1|23|4567| +-+--+----+
Dans ce cas il faudrait inverser l'ordre des boucles pour y arriver.
Voici comment on pourrait s'y prendre. Par contre j'ai fait quelques changements lorsque que je trouvais ça mieux. Par exemple remplacer les integer t1[i] par des string t[i] et les t2[i] qui contenaient le nombre de chiffres de t1[i] seront calculé directement par length(t[i]). Comme cela l'utilisateur n'a pas à rentrer au clavier des informations que le programme peut calculer tout seul (les t2[i]), et de plus il est beaucoup plus général en acceptant non seulement des nombres, mais aussi des lettres !
program ppp;
var
t:array[1..15] of string;
i,j,m:integer;
begin
// remplissage tableau
write('Nombre de valeurs du tableau : ');
readln(m);
for i:=1 to m do
begin
write('Valeur ',i,' : ');
readln(t[i]);
end;
// affichage ligne 1
write(chr(218));
for i:=1 to m do
begin
for j:=1 to length(t[i]) do
write(chr(196));
if (i<m)
then write(chr(194))
else writeln(chr(191));
end;
// affichage ligne 2
for i:=1 to m do
begin
write(chr(179));
write(t[i]);
end;
writeln(chr(179));
// affichage ligne 3
write(chr(192));
for i:=1 to m do
begin
for j:=1 to length(t[i]) do
write(chr(196));
if (i<m)
then write(chr(193))
else writeln(chr(217));
end;
readln;
end.