Retourne à la ligne automatique

plopy -  
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.

4 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    C'est sûrement parce que tu utilises writeln, mais si tu utilises write, ça devrait aller.
    0
  2. plopy
     
    non je ne l'utilise pas :/
    0
    1. KX Messages postés 19031 Statut Modérateur 3 020
       
      Alors comment fais tu ton affichage de tableau ?
      0
  3. plopy
     
    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.
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Je vois deux writeln dans ton code pourtant :
      writeln(chr(191));
      writeln(chr(179));
      0
    2. KX Messages postés 19031 Statut Modérateur 3 020
       
      En fait l'affichage du tableau est super-kikoo.
      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.
      0
  4. KX Messages postés 19031 Statut Modérateur 3 020
     
    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.
    0