On demande d'écrire une procédure ou fonction qui modifie une telle liste.
La modification consiste à supprimer de cette liste l'occurence du maximum lorsque celui-ci n'est présent qu'une seule fois.
Si le maximum et présent pleusieurs fois, ne rien faire.
J'ai procédé de cette manière mais je crois qu'il y a mieux à faire :
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 procedure supprimermax(var L:liste); var p,maxi:liste; k:cardinal; begin k:=1; p:=L^.svt; maxi:=L; while p<>nil do begin if maxi^.info=p^.info then inc(k); if (p^.info>maxi^.info) then begin maxi:=p; k:=1; end; p:=p^.svt; end; if k=1 then begin supprimerdeliste(maxi^.info,L); writeln( 'le maximun est supprimer: '); end; end;
Partager