Algorithmus formulieren, wie ermittelt man die häufigste Zahl einer Zahlenfolge und wie häufig kommt diese vor?

3 Antworten

Am besten wäre nur dafür natürlich ein Array, aber ich nehme mal an, das hattet ihr noch nicht.

Ein Array ist eine List die meistens so aussieht: z.B. [9,2,1,3,1,1,2,4]
Diese List ist z.B. in 'possibility' gespeichert.

possibility = [9,2,1,3,1,1,2,4]

Einen Wert aus dieser Liste ruft man folgendermaßen ab:

possibility[0] wäre jetzt 9
possibility[1] wäre 2
...
possibility[7] wäre 4

Man ruft also einen Teil dieser Liste ab indem man die Variable+die Indexnummer in eckigen Klammern schreibt.
Dabei beginnt der Index mit 0; somit ist die 1. Stelle im Index 0, die 2. Stelle im Index 1 usw., also immer um 1 verschoben.

Genauso kann man auch eine Stelle in die Liste schreiben:

possibility[0] = 4 würde heißen das der 1. Wert der Liste jetzt eine 4 statt  einer 9 wäre.

Schau dir am besten auf YT ein Video dazu an.

Eine Zählveriable ist lediglich eine Variable, die in einer Schleife(also einer Wiederholung des selben Codes)sich bei jedem Durchlauf verändert(meistens +1 oder -1).
Sie zählt also mit.

Vielleicht hilft dir ein Array bei der Lösung.

Wenn du mir sagen könntest, in welcher Sprache ihr programmiert, könnte ich dir ein verständlicheren Programmcode geben.

Viel Glück ;)

Ich hoffe ich konnte dir helfen :)

LG

Farinaaa 
Fragesteller
 19.10.2016, 15:21

Danke:) also programmieren kommt erst noch. Wir sollen nur auf einen Zettel schreiben wie das grobe Prinzip ist.

0

Du kannst ein Array von 0..9 anlegen.

Dann eine Schleife in der Du jeden Ziffer auswertest.

Dann erhöhst Du den Array von der Zahl...

Danach suchst Du im Array das Maxium... und dann hast Du die Ziffer

Ja, das wäre natürlich die einfachste Lösung.

Für jede Zahl des Datensatzes, füge es mit Anzahl = 0 dem Ergebnisfeld hinzu und inkrementiere dann den Wert. Dann vergleiche den gerade inkrementierten wert mit dem gespeicherten Maximum. Ist ein neues Maximum entstanden, speichere die gerade behandelte Zahl und deren Häufigkeit.

Willst du nicht soviel speichern, könntest du einen Sortieralgorithmus vorschalten und zählst anschließend jede Zahl, bis die nächsthöhere dran kommt.

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker - Anwendungsentwicklung