Programm zur Berechnung der Buchstabenhäufigkeit mit Auffüllfunktion
Moin, es gibt ja Programme und Webseiten zur Berechnung von Buchstabenhäufigkeiten, wie z.B. hier:
https://gc.de/gc/buchstabenhaeufigkeit/
Leider finde ich kein Programm, welches mir den Text anschliessend mit Buchstaben bzw. Zeichen auffüllt, bis alle gleich häufig im Text vorkommen.
Kennt jemand so ein Programm und wenn nicht, wie und in welcher Sprache würdet ihr so etwas programmieren ?
Mit freundlichen Grüßen
https://gc.de/gc/buchstabenhaeufigkeit/
Leider finde ich kein Programm, welches mir den Text anschliessend mit Buchstaben bzw. Zeichen auffüllt, bis alle gleich häufig im Text vorkommen.
Kennt jemand so ein Programm und wenn nicht, wie und in welcher Sprache würdet ihr so etwas programmieren ?
Mit freundlichen Grüßen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 304182
Url: https://administrator.de/contentid/304182
Ausgedruckt am: 22.11.2024 um 06:11 Uhr
4 Kommentare
Neuester Kommentar
Das kann man mit jeder Programmiersparache machen.
Mit Powershell z.B. keine große Sache:
Mit Powershell z.B. keine große Sache:
$text = "BBBBBlaBlaxxggfffffffff"
$newtext = $text
$groups = $text.ToCharArray() | group
$max = $groups | select -Expand Count -First 1
$groups | ?{$_.Count -lt $max} | %{$newtext += [string]$_.Name * ($max - $_.Count)}
$newtext
Dann musst du ja einen festen Wertebereich festlegen (z.B. alle 0-9, a-z, A-Z) damit das Skript ja die fehlenden ermitteln kann. Willst du nur Buchstaben oder Zahlen daraus müsstest du eine weitere Stufe der Erkennung einbauen.
$text = "AAA"
# Char Bereiche festlegen 0-9, A-Z, a-z
$chars = (48..57 | %{[char]$_}); $chars+= (65..90 | %{[char]$_}); $chars += (97..122 | %{[char]$_})
$newtext = $text
# Chars gruppieren
$groups = $text.ToCharArray() | group
# max Anzahl eines einzelnen Chars ermitteln
$max = $groups | select -Expand Count -First 1
# vorhandene ergänzen
$groups | ?{$_.Count -lt $max} | %{$newtext += [string]$_.Name * ($max - $_.Count)}
# fehlende um die Anzahl ergänzen
compare $chars $groups.Name -PassThru | %{$newtext += [string]$_ * $max}
# neuen Text ausgeben
$newtext