vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Häufigkeitsanalyse 
Autor: Preisser
Datum: 19.10.10 20:20

Hi,
dann könnte es aber eine IndexOutOfRangeException bei Leerzeichen oder anderen Sonderzeichen geben.

Man könnte es beispielsweise so mit einer Struktur machen, die jeweils ein Attribut für den Buchstaben und seine Häufigkeit besitzt, und es dann sortieren lassen, sodass der häufigste Buchstabe am Anfang des Arrays ist:
    Private Structure BuchstabenStruct
        Implements IComparable(Of BuchstabenStruct)
 
        Public Buchstabe As Char
        Public Haeufigkeit As Integer
 
        Public Function CompareTo(ByVal other As BuchstabenStruct) As Integer _
          Implements System.IComparable(Of BuchstabenStruct).CompareTo
            ' Nach Häufigkeit sortieren, absteigend
            Return other.Haeufigkeit.CompareTo(Me.Haeufigkeit)
        End Function
    End Structure
 
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Dim Haeufigkeiten As BuchstabenStruct()
        ReDim Haeufigkeiten(0 To 25)
 
        ' Buchstaben zuweisen
        For i As Integer = 0 To Haeufigkeiten.Length - 1
            Haeufigkeiten(i).Buchstabe = ChrW(AscW("a"c) + i) 'leider kann man 
            ' in VB.Net mit Chars nicht rechnen
        Next
 
        Dim text As String = txtEingabe.Text.ToLower()
        Dim j As Char
        For i As Integer = 0 To text.Length - 1
            j = text(i)
            If j >= "a"c And j <= "z"c Then
                Haeufigkeiten(AscW(j) - AscW("a"c)).Haeufigkeit += 1
            End If
        Next i
 
        ' nach Häufigkeit sortieren
        Array.Sort(Haeufigkeiten)
        MessageBox.Show(Haeufigkeiten(0).Buchstabe) ' der häufigste Buchstabe
        MessageBox.Show(Haeufigkeiten(1).Buchstabe) ' der 2. häufigste 
        ' Buchstabe usw.
 
    End Sub


Beitrag wurde zuletzt am 19.10.10 um 20:48:41 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Häufigkeitsanalyse2.191Bourner18.10.10 18:33
Re: Häufigkeitsanalyse1.434Zardoz18.10.10 18:42
Re: Häufigkeitsanalyse1.353Bourner18.10.10 18:54
Re: Häufigkeitsanalyse1.353Zardoz18.10.10 19:42
Re: Häufigkeitsanalyse1.374Dirk18.10.10 21:14
Re: Häufigkeitsanalyse1.382Preisser18.10.10 21:37
Re: Häufigkeitsanalyse1.344Dirk18.10.10 21:44
Re: Häufigkeitsanalyse1.346Bourner19.10.10 19:31
Re: Häufigkeitsanalyse1.430Zardoz19.10.10 19:47
Re: Häufigkeitsanalyse1.458Preisser19.10.10 20:20

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel