Prüfung gleicher Werte!!!

Anfängerfragen zum Programmieren mit PureBasic.
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Prüfung gleicher Werte!!!

Beitrag von D4uS1 »

Gibt es eine Funktion oder eine Procedure die Prüft ob in einer Variablenreihe 2 mal der gleiche Wert vorkommt. Wenn ich z.B. a, b, c, d, e, f, g, h, und i habe und die Zahlen 1-9. Und ich möchte das jede Variable eine Andere Zahl trägt, ist das möglich?
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Mit einzelnen, von einerander unabhängigen Variablen funktioniet das nicht. Pack die Werte leiber in ein Array und prüfe die Werte mit einer For/Next Schleife.

Wenn die Namen und die Anzahl aller einzelnen Variablen schon weiss dann kannst du das natürlich auch mit einem If/EndIf checken. Ist aber recht umständlich.
D4uS1
Beiträge: 268
Registriert: 02.09.2006 12:16

Beitrag von D4uS1 »

Kennt jemand vieleicht ein Toturial für Arrays und Schleifen, weil ich davon nur wenig Ahnung habe und fast nichts davon Verstehe.
Little John

Beitrag von Little John »

Code: Alles auswählen

Procedure.l multiple (a.l(1), u.l)
   ; hin: a(): eindimensionales Array aus Long-Integer Werten
   ;        u: Nr. des letzten Array-Elements
   ; zurück  : Index des zuerst gefundenen mehrfach vorkommenden
   ;           Elements bzw.
   ;           -1, wenn kein Element mehrfach vorkommt
   Protected i, k

   For i = 0 To u-1
      For k = i+1 To u
         If a(i) = a(k)
            ProcedureReturn i
         EndIf
      Next
   Next

   ProcedureReturn -1
EndProcedure


;-- Demo
Dim test.l(6)
test(0) = 12
test(1) = 37
test(2) =  9
test(3) = 14
test(4) = 26
test(5) =  3
test(6) = 26
Debug multiple(test(), 6)
Gruß, Little John
Antworten