Basic Univers
Structure CountElement_String
nom.s
count.l
EndStructure
Procedure.s GetMostFrequentElement(lst.s())
NewList count.CountElement_String()
ForEach lst()
trouve = #False
ResetList(count())
While trouve = #False And NextElement(count())
If count()\nom = lst()
trouve = #True
EndIf
Wend
If trouve
count()\count + 1
Else
AddElement(count())
count()\nom = lst()
count()\count = 1
EndIf
Next
SortStructuredList(count(), 1, OffsetOf(CountElement_String\count), #PB_Sort_Long)
retour$ = ""
If CountList(count())
SelectElement(count(), 0)
retour$ = count()\nom
Debug count()\count
EndIf
ClearList(count())
ProcedureReturn retour$
EndProcedure
NewList elt.s()
AddElement(elt()) : elt() = "coucou"
AddElement(elt()) : elt() = "salut"
AddElement(elt()) : elt() = "coucou"
AddElement(elt()) : elt() = "ca va ?"
AddElement(elt()) : elt() = "coucou"
AddElement(elt()) : elt() = "test"
AddElement(elt()) : elt() = "test2"
AddElement(elt()) : elt() = "test"
AddElement(elt()) : elt() = "coucou"
AddElement(elt()) : elt() = "test2"
AddElement(elt()) : elt() = "test"
Debug GetMostFrequentElement(elt())