Mon Exercice
Soit un tableau T contenant n lettres majuscules (de A à Z). n étant un entier compris
entre 5 et 20. On désire trier en ordre croissant les éléments de T en utilisant la méthode de tri
comptage (Tri casier).
Principe
1. Compter le nombre d’apparition de chaque élément du tableau T dans un tableau TC.
2. Reconstruire T en tenant compte du nombre d’apparition de chaque élément du
tableau T
mon essai
mon problème est que je veux avoir un tableaux qui contient des entier mais avec un compteur en caractères
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 exerc; uses wincrt; type tab=array [0..100] of char; tab2=array [0..100] of integer; var t:tab; n:integer; procedure tricomptage(n:integer;var t:tab); var cp: tab2; j,k:integer; f:char; begin for i:= 'A' to 'Z' do cp[i]:= 0 ; for i:=1 to n do begin cp[t[i]] := cp[t[i]] + 1; end; k:=1; for i:=1 to 20 do begin if cp[i]<>0 then begin for j:=1 to cp[i] do begin t[k]:=i; k:=k+1; end; end; end; end; procedure ramplire(var t:tab;var n:integer); var i:integer; begin write('n= ');readln(n); for i:=1 to n do begin repeat write('T de ',i,' = ');readln(t[i]); until t[i]>0 end; end; procedure affiche(t:tab;n:integer); var i:integer; begin for i:=1 to n do write(t[i],'|'); end; BEGIN ramplire(t,n); tricomptage(n,t); affiche(t,n); END.![]()
help plz
![]()
Partager