Salut à tous
Je viens de faire un programme qui permet de lire 2 mots ch1 et ch2 puis d'afficher tous les caractères qui apparaissent des 2 chaines sans redondance. Mais dommage, il fait la redondance à cause d'une faute dans la fonction verifer.
SVP aidez-moi à le trouver.
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
program trie;
uses wincrt;
type
tab = array[1..100] of string;
var
t:tab;
a,b :string;
n:integer;
 
procedure lecture(var a,b:string);
begin
writeln('donnez le 1° mot');
readln(a);
writeln('donnez le 2° mot');
readln (b);
end;
 
function verif(mot:string;n:integer):boolean ;
var
i:integer;
begin
for i:=1 to n do
    if (mot = t[i]) then verif := false
    else verif := true
 
end;
 
 
procedure recherche(var t:tab; var n:integer;a,b:string);
 var
 i,j:integer;
 mot:string;
 rep:boolean;
 begin
 n:=1;
   for i := 1 to length(a) do
      for j := 1 to length(b) do
      begin
      begin
          if a[i] = b[j] then begin
                                     mot := a[i];
                                     rep :=verif(mot,n);
                              end;
      if (rep = true) then        t[n]:= mot ;
                                  n:=n+1;
                                  end;
                           end;
                           end;
 
 
 
   procedure affichage(var t:tab; n:integer);
   var
   i:integer;
   begin
   writeln('le resulta est');
                for i:=1 to n do
                 writeln(t[i]);
   end;
 
   begin
 
   lecture(a,b);
   recherche(t,n,a,b);
   affichage(t,n)
   end.