Langage Pascal probleme

Fermé
DimiMAzz Messages postés 2 Date d'inscription dimanche 21 octobre 2012 Statut Membre Dernière intervention 22 octobre 2012 - 22 oct. 2012 à 22:16
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 - 23 oct. 2012 à 19:29
Bonjour

j'ai un probleme avec un programme pour verifier si deux tableaux sont miroirs ou non.
Pouvez vous m'aidez cordialement.




program tableau_miroir;
Const Nmax=200;
Type Tab = array[1..Nmax] of integer;
Var T1, T2 : Tab;
i,j,nbval1,nbval2 : integer;
Stop : boolean;
choix : string;
Begin
j:=1;
i:=1;
nbval1:=0;
nbval2:=0;
Stop:=false;
Choix:= Oui;
While stop= false do
Begin
Writeln('Entrez une valeur dans le premier tableau');
Readln(T1[i]);
nbval1:=nbval1+1;
Writeln(' Voulez vous entrer une autre valeur dans le tableau?(Oui/Non)');
Readln(choix);
If choix= Non
Then Stop:=true;
i:=i+1;
End;
Stop:=false;
Choix:=Oui;
i:=1;

While stop= false do
Begin
Writeln('Entrez une valeur dans le premier tableau');
Readln(T2[i]);
nbval2:=nbval2+1;
Writeln(' Voulez vous entrer une autre valeur dans le tableau?(Oui/Non)');
Readln(choix);
If choix=Non
Then Stop:=true;
i:=i+1;

End;
Stop:=false;

For ((j=nbval2) downto (1)) and ((i=1) to(nbval1)) do
Begin
If T1[i]<>T2[j]
Then writeln('Ce n est pas un tableau miroir')
Else writeln('C est un tableau miroir');


End;
Readln;

end.
A voir également:

1 réponse

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
Modifié par nicocorico le 23/10/2012 à 19:30
Bonjour,

hé oui, là ta boucle va s'arrêter à chaque valeur pour dire si elles sont identiques ou non, alors qu'il faut tester les tableaux entiers avant de répondre...Pour ça le mieux est simplement d'ajouter une variable booléenne que tu influences dans ta boucle ainsi:

Identiques:= True;   

For ((j=nbval2) downto (1)) and ((i=1) to(nbval1)) do    
  If T1[i]<>T2[j] then Identiques:= False;   

If Identiques then    
  writeln('C est un tableau miroir')    
else    
  writeln('Ce n est pas un tableau miroir')  


Le chêne aussi était un gland, avant d'être un chêne
0