Langage Pascal probleme

DimiMAzz Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
nicocorico Messages postés 799 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   138
 
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