Erreur dans un programme pascal [Résolu/Fermé]

Signaler
Messages postés
72
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
1 juin 2013
-
Messages postés
11
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
28 novembre 2012
-
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

Messages postés
11
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
28 novembre 2012

C'est quoi le message d'erreur ? :)
Messages postés
72
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
1 juin 2013

l'erreur expression booléenne attendue
Messages postés
11
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
28 novembre 2012

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.
Messages postés
72
Date d'inscription
lundi 12 novembre 2012
Statut
Membre
Dernière intervention
1 juin 2013

merci bien sa marche avec cette solution :)
Messages postés
11
Date d'inscription
vendredi 2 mars 2012
Statut
Membre
Dernière intervention
28 novembre 2012

pas de quoi ;)

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