Erreur dans un programme pascal

Résolu
debloc12 Messages postés 87 Statut Membre -  
kaldonxy Messages postés 13 Statut Membre -
salut tout le monde.
Mon programme est permet de remplir un tableau T par une chaîne de caractère de longueur paire puis afficher les élément de T qui contiennent la lettre A majuscule avec n compris entre 5 et 15. avec n=taille du tableau j'essai de faire ça en pascal mais j'ai un erreur , jusqu'à maintenant je n'arrive pas à résoudre ce problème.
Voici le code :
program tab;
uses wincrt;
type tabl =array[1..100]of string;
var ch:string;
i,n:integer;
t:tabl;
begin
repeat
writeln('donner la taille de tableau' );
readln(n);
until(n<=15)and(n>=5);
for i:=1 to n do
begin
repeat
writeln ('donner l"élément n°',i);
readln(ch);
until length(ch) mod 2=0;
end;
for i:=1 to length (ch) do
if pos('A',t[i]) then (l'erreur est dans ce ligne "Expression booleen attendu")
writeln(t[i]);
end.

s'il vous plais aidez moi merci d'avance

2 réponses

  1. kaldonxy Messages postés 13 Statut Membre
     
    C'est quoi le message d'erreur ? :)
    0
    1. debloc12 Messages postés 87 Statut Membre
       
      l'erreur expression booléenne attendue
      0
    2. kaldonxy Messages postés 13 Statut Membre
       
      Testez cette solution .. et si il y a un probléme sag Bescheid ;) :
      ---------------------------------------------------------------------------------------

      {

      Un programme permet de remplir un tableau T par une chaîne de caractére de longeur paire
      puis afficher les élements de T qui contiennet la lettre A

      @author [ton nom]
      @version 1
      }
      program Tableau_test1;

      uses wincrt;

      type
      tabl =array[1..100]of string;
      var ch:string;
      i, n, compteur:integer;
      t:tabl;


      begin

      repeat
      write('Donnez svp la taille de tableau --> .. ' );
      readln(n);
      until(n<=15)and(n>=5);

      writeln('---------------------------');

      for i:=1 to n do
      begin
      repeat
      write ('Donnez svp l"élément n° .. ',i,' --> ');
      readln(ch);
      T[i]:=ch;
      until (length(ch) mod 2 = 0); writeln;
      end;
      writeln('---------------------------');
      compteur := 0;
      for i:=1 to n do
      begin
      if (pos('A',t[i]) <> 0) then
      begin
      write('Resultat n° ',compteur+1,' est --> ');
      writeln(t[i]);
      compteur := compteur + 1;
      end;
      end;

      if (compteur = 0) then
      writeln('aucune chaine de caractére contient le caractére A');


      end.
      0
  2. debloc12 Messages postés 87 Statut Membre
     
    merci bien sa marche avec cette solution :)
    0
    1. kaldonxy Messages postés 13 Statut Membre
       
      pas de quoi ;)

      (si vous pouvez -votez- :p ) ! ^^
      0