höchster Zahlenwert

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Quäiny

Betreff: höchster Zahlenwert

BeitragFr, Nov 21, 2008 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ein Problem mit den Punkten der jeweiligen mannschaften:
so die mannschaft mit den meisten punkten soll an platz 1 gesetzt werden, die mannschaft mit den 2.meisten punkten an platz 2 usw...nur ich bekomm es nicht hin.Ich hab jetzt nur 1 Mannschaft in den code eingefügt, es sind insgesamt 18.Wenn ihr den ganzen code haben wollt,schick ich ihn ganz!
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()

SeedRnd  MilliSecs  ()


   Type mannschaft
      Field verein$
      Field punkte$
      
   End Type
   Global x=100   
   
   Dim auswahl(18)
        For y=1 To 18
        For yy=1 To 18
              auswahl(y)=Rand(1,10)
                  Next
                  Next
Repeat
Cls

If auswahl(y)> auswahl(yy) Then
if y*21<yy then y=y+1
endif ;er sagt "array index out of bounds"
;--------Köln------
Local koeln.mannschaft
     koeln.mannschaft=New mannschaft
          y=18
          koeln\verein$= "1.FC Köln"
          koeln\punkte$= auswahl(y)
    Text x,y*20, koeln\verein$
    Text 0,y*20, y+"."
    Text x+170,y*20, koeln\punkte$

flip
until keyhit(1)
end

DerHase

BeitragFr, Nov 21, 2008 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Sortieralgorithmen Wink
Play Satyr!

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragFr, Nov 21, 2008 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du es nicht selber machen willst dann nimm dieses Tool
[BB2D | BB3D | BB+]
 

Quäiny

BeitragSa, Nov 22, 2008 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das heißt man kann es nicht mit blitzbasic machen?

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Nov 22, 2008 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Doch das ist alles möglich...und auch alles in Blitz geschrieben!

Code: [AUSKLAPPEN]
If auswahl(y)> auswahl(yy) Then
if y*21<yy then y=y+1
endif ;er sagt "array index out of bounds"

bedeutet das y bzw yy größer als 18 ist
Was soll der Code überhaupt machen?
[BB2D | BB3D | BB+]
 

Quäiny

BeitragSa, Nov 22, 2008 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
also...jeder mannschaft soll eine zufallszahl gegeben werden, die variable für mannschaft ist "auswahl"...so das soll für jede mannschaft gelten...also für alle 18. Wenn die mannschaft z.b. auswahl(1)> auswahl(2) dann soll der auswahl(1) eine stelle nach oben verschieben. Soweit verstanden? Rolling Eyes

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Nov 22, 2008 17:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das mal so geschrieben wie es funktioniert...

inklusive Sortierfunktion

Code: [AUSKLAPPEN]
Graphics 800 ,600,16,2
SetBuffer BackBuffer ()

SeedRnd MilliSecs ()

Type mannschaft
    Field verein$
    Field punkte%
End Type

Global x = 100

;Dim auswahl (18)
; alle Mannschaften erstellen und erstmal einen Zufallswert zuweisen

For Anzahl = 1 To 18
    Team.mannschaft = New mannschaft
    Team\verein$ = Anzahl + ".FC Köln" ;heißen alle Köln  1-18
    Team\punkte$ = Rand (10)
Next

Repeat
    Cls
   
    y = 0; immer resseten da sonst alles aus bem Biild läuft
   
    For team.Mannschaft = Each mannschaft
        y = y + 1
        Text x,y * 20 , team\verein$
        Text 0 ,y * 20 , y + "."
        Text x + 170 ,y * 20 , team\punkte$
    Next
   
    Text x + 170 ,500,"Drücke Space  um die Liste nach Punkten zu sortieren"
    If KeyHit (57) Then QuickSortstart_Mannschaft () ; sortiert die liste
    Flip
Until KeyHit (1)

End

;###############################################################
;generierter Code von BB_Quicksort_Source_Ersteller_V19.5.05.exe
Function QuickSortstart_Mannschaft ()
    L.Mannschaft = First Mannschaft
    If L.Mannschaft = Null  Return
    R.Mannschaft = Last Mannschaft
    If L.Mannschaft = R.Mannschaft  Return
    QSB_Mannschaft (L.Mannschaft,R.Mannschaft)
End Function

Function QSB_Mannschaft (P1.Mannschaft,P2.Mannschaft)
    ;Rallimen
    P4.Mannschaft = P1:P3.Mannschaft = P1
    While Not P5
        P3.Mannschaft = After P3
        If P3.Mannschaft = P2  P5 = True
        If P3\Punkte > P4\Punkte 
            If P5  P2.Mannschaft = Before P2
            P6.Mannschaft = P3 : P3.Mannschaft = Before P3
            Insert P6.Mannschaft Before P1 : P1.Mannschaft = P6
         Else
            If P3\Punkte = P4\Punkte 
                If P7.Mannschaft = Null 
                    P7.Mannschaft = P3 :P3.Mannschaft = Before P3
                    If P5  P2.Mannschaft = Before P2
                    Insert P7.Mannschaft Before P4
                    If P4.Mannschaft = P1.Mannschaft  P1.Mannschaft = P7
                 Else
                    P6.Mannschaft = P3
                    P3.Mannschaft = Before P3
                    If P5  P2.Mannschaft = Before P2
                    Insert P6.Mannschaft Before P4
                End If
            End If
        End If
    Wend
    If P7.Mannschaft = Null 
        If P4.Mannschaft <> P1  P8.Mannschaft = Before P4
     Else
        If P7.Mannschaft <> P1  P8.Mannschaft = Before P7
    End If
    If P8.Mannschaft <> Null  If P8.Mannschaft <> P1  QSB_Mannschaft P1.Mannschaft,P8.Mannschaft
    If P4.Mannschaft <> P2 
        P9.Mannschaft = After P4
        If P9.Mannschaft <> Null  If P9.Mannschaft <> P2  QSB_Mannschaft P9.Mannschaft,P2.Mannschaft
    End If
End Function
;###############################################################
[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group