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: Zahlen Häufigkeit ermitteln ??? 
Autor: JBL
Datum: 16.05.11 16:41

hallo,

schade - es wimmelt nur so von Fehlern

Habe mal die 100 auf 149 gemacht, da ich 149 Zeilen in der input.txt Datei habe.

So habe ich es nun - leider ohne Erfolg:

Dim numbersdone(149) As Integer
Dim donecounter As Integer
 
Private Function CheckLine(ByVal sLine As String) As Boolean
 
    Dim i As Integer, k As Integer, snum() As String
    If donecounter < 0 Then CheckLine = True: Exit Function
    snum() = Split(sLine, " ")
    For i = 0 To UBound(snum)
       If IsNumeric(snum(i)) Then
          If snum(i) <> 0 Then
             For k = 0 To donecounter
                If CInt(snum(i)) = numbersdone(k) Then
                   CheckLine = False: Exit Function
                End If
             Next k
          End If
       End If
    Next i
    CheckLine = True
End Function
 
Private Sub Command1_Click()
 
 
donecounter = -1
Do
 
   Dim ic As Integer, indx As Integer, counter As Integer, sLine As String
   Dim snum() As String, MyNumbers() As Integer
   Dim i%, k%, tausch%
   ReDim MyNumbers(149)
   ic = FreeFile: counter = -1
   Open "input.txt" For Input As ic
   While Not EOF(ic)
      Line Input #ic, sLine
      If CheckLine(sLine) Then
         snum() = Split(sLine, " ")
         For indx = 0 To UBound(snum)
            If IsNumeric(snum(indx)) Then
               counter = counter + 1
               If counter > UBound(MyNumbers) Then
                  ReDim Preserve MyNumbers(counter + 149)
               End If
               MyNumbers(counter) = CInt(snum(indx))
            End If
         Next indx
      End If
   Wend
 
   Close ic
 
   If counter >= 0 Then
      ReDim Preserve MyNumbers(counter)
 
 
      Dim MyDistinctNumbers() As Integer, MyFrequencies() As Integer
 
      Call CountFrequencies(MyNumbers(), MyDistinctNumbers(), MyFrequencies())
 
      For i = 0 To UBound(MyFrequencies) - 1
         For k = i + 1 To UBound(MyFrequencies)
            If MyFrequencies(i) < MyFrequencies(k) Then
               tausch = MyFrequencies(i)
               MyFrequencies(i) = MyFrequencies(k)
               MyFrequencies(k) = tausch
               tausch = MyDistinctNumbers(i)
               MyDistinctNumbers(i) = MyDistinctNumbers(k)
               MyDistinctNumbers(k) = tausch
            End If
         Next k
     Next i
 
     Dim display As String
     display = CStr(MyDistinctNumbers(0))
     donecounter = donecounter + 1
     numbersdone(donecounter) = MyDistinctNumbers(0)
     For i = 1 To UBound(MyFrequencies)
        If MyFrequencies(i) = MyFrequencies(0) Then
          display = display & " " & CStr(MyDistinctNumbers(i))
          donecounter = donecounter + 1
          numbersdone(donecounter) = MyDistinctNumbers(i)
        End If
     Next i
 
     MsgBox display
   End If
Loop While counter > 0
 
Exit Sub
 
End Sub
 
 
 
Public Sub CountFrequencies(MyNumbers() As Integer, _
     MyDistictNumbers() As Integer, MyFrequencies() As Integer)
 
     Dim i%, k%, counter%
     Dim found As Boolean
     ReDim MyDistinctNumbers(UBound(MyNumbers))
     ReDim MyFrequencies(UBound(MyNumbers))
     MyDistinctNumbers(0) = MyNumbers(0)
     MyFrequencies(0) = 1
 
     For i = 1 To UBound(MyNumbers)
        If MyNumbers(i) <> 0 Then
           found = False
           For k = 0 To counter
              If MyDistinctNumbers(k) = MyNumbers(i) Then
                 'Zahl bereits aufgetreten --> Zählen
                 MyFrequencies(k) = MyFrequencies(k) + 1
                 found = True
                 Exit For
              End If
           Next k
 
           If Not found Then
             'Erstes Auftreten einer Zahl
              counter = counter + 1
              MyFrequencies(counter) = 1
              MyDistinctNumbers(counter) = MyNumbers(i)
           End If
        End If
     Next i
 
     ReDim Preserve MyDistinctNumbers(counter)
     ReDim Preserve MyFrequencies(counter)
 
 End Sub
gruß
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zahlen Häufigkeit ermitteln ???2.754JBL16.05.11 12:51
Re: Zahlen Häufigkeit ermitteln ???2.177Manfred X16.05.11 13:10
Re: Zahlen Häufigkeit ermitteln ???1.833JBL16.05.11 13:22
Re: Zahlen Häufigkeit ermitteln ???1.832Manfred X16.05.11 13:52
Re: Zahlen Häufigkeit ermitteln ???1.804JBL16.05.11 14:14
Re: Zahlen Häufigkeit ermitteln ???1.762Manfred X16.05.11 14:29
Re: Zahlen Häufigkeit ermitteln ???1.723JBL16.05.11 14:45
Re: Zahlen Häufigkeit ermitteln ???1.728Manfred X16.05.11 14:54
Re: Zahlen Häufigkeit ermitteln ???1.848JBL16.05.11 15:12
Re: Zahlen Häufigkeit ermitteln ???1.818Manfred X16.05.11 15:24
Re: Zahlen Häufigkeit ermitteln ???1.760JBL16.05.11 15:34
Re: Zahlen Häufigkeit ermitteln ???1.806Manfred X16.05.11 16:07
Re: Zahlen Häufigkeit ermitteln ???1.855JBL16.05.11 16:19
Re: Zahlen Häufigkeit ermitteln ???1.894Manfred X16.05.11 16:24
Re: Zahlen Häufigkeit ermitteln ???1.761JBL16.05.11 16:41
Re: Zahlen Häufigkeit ermitteln ???1.921Manfred X16.05.11 16:44
Re: Zahlen Häufigkeit ermitteln ???2.123JBL16.05.11 16:54
Re: Zahlen Häufigkeit ermitteln ???1.713Manfred X16.05.11 17:00
Re: Zahlen Häufigkeit ermitteln ???1.683JBL16.05.11 17:18
Re: Zahlen Häufigkeit ermitteln ???1.700Manfred X16.05.11 17:24
Re: Zahlen Häufigkeit ermitteln ???1.685JBL16.05.11 17:33
Re: Zahlen Häufigkeit ermitteln ???1.823Manfred X16.05.11 17:39
Re: Zahlen Häufigkeit ermitteln ???1.686JBL16.05.11 17:42
Re: Zahlen Häufigkeit ermitteln ???1.701JBL16.05.11 17:59
Re: Zahlen Häufigkeit ermitteln ???1.685Manfred X16.05.11 18:10
Re: Zahlen Häufigkeit ermitteln ???1.701JBL16.05.11 18:31
Re: Zahlen Häufigkeit ermitteln ???1.680Manfred X16.05.11 18:40
Re: Zahlen Häufigkeit ermitteln ???1.755JBL16.05.11 19:00
Re: Zahlen Häufigkeit ermitteln ???1.987JBL02.06.11 19:34
Re: Zahlen Häufigkeit ermitteln ???1.738JBL04.06.11 11:40
Kombination?1.701Manfred X04.06.11 12:40
Re: Kombination?1.759JBL04.06.11 12:59
Re: Kombination?1.682Manfred X04.06.11 13:41
Re: Kombination?1.723JBL04.06.11 13:52
Re: Kombination?1.674Manfred X04.06.11 14:59

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