Prüfung gleicher Werte!!!
Prüfung gleicher Werte!!!
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?
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
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.
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.
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)