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.
Partager