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;