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 -
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.
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:
- Langage Pascal probleme
- Turbo pascal - Télécharger - Édition & Programmation
- Langage ascii - Guide
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Langage binaire - Guide
1 réponse
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:
Le chêne aussi était un gland, avant d'être un chêne
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