Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Oder OR/XOR
Christian V. - Mo 12.02.07 18:47
Titel: Oder OR/XOR
Hallo, ich habe 2 gruppen mit Werten
adv_linex[1..3] und adv_liney[1,,3]
Es soll wahr sein, wenn EIN Wert des Arrays grösser als Null ist in EINER der beiden Gruppen.
Beispiele
Wahr:
adv_linex[1]=2
adv_linex[2]=0
adv_linex[2]=0
adv_liney[1]=1
adv_liney[2]=1
adv_liney[3]=0
Falsch:
adv_linex[1]=0
adv_linex[2]=1
adv_linex[2]=0
adv_liney[1]=0
adv_liney[2]=1
adv_liney[3]=0
Ich habe mir das so gedacht:
Delphi-Quelltext
1:
| if ((adv_linex[1]<>0)OR(adv_linex[2]<>0)OR(adv_linex[3]<>0))OR((adv_liney[1]<>0)OR(adv_liney[2]<>0)OR(adv_liney[3]<>0)) |
Allerdings geht das nicht so wie ich es mir gedacht habe.
PS: wegen den <>: minus werte sind nicht möglich.
jakobwenzel - Mo 12.02.07 18:58
Wenn Minus-Werte nicht Möglich Sind:
Delphi-Quelltext
1: 2:
| if ((adv_linex[1]+adv_linex[2]+adv_linex[3])>0) xor ((adv_liney[1]+adv_liney[2]+adv_liney[3])>0) then ... |
Christian V. - Mo 12.02.07 19:08
Danke für die Antwort, das funktioniert aber irgendwie nicht.
delfiphan - Mo 12.02.07 19:10
Du meinst wenn in genau einer Gruppe genau ein Wert nichtnull ist.
Solcher Code ist zwar fast unbrauchbar, da unlesbar, aber wenn's in einem Ausdruck sein muss:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| if (((adv_linex[1]<>0)xor(adv_linex[2]<>0)xor(adv_linex[3]<>0)) and not ((adv_linex[1]<>0) and (adv_linex[2]<>0) and (adv_linex[3]<>0))) xor (((adv_liney[1]<>0)xor(adv_liney[2]<>0)xor(adv_liney[3]<>0)) and not ((adv_liney[1]<>0) and (adv_liney[2]<>0) and (adv_liney[3]<>0))) then ... |
Delete - Mo 12.02.07 19:14
sorry, verstehe jetzt nicht was du meinst. aber kannst mal 'ne wahrheitstabelle posten? damit ich auch verstehe was du gerne möchtest, danke.
Christian V. - Mo 12.02.07 19:17
Wow, danke vielmals. Nun funktioniert es.
@Grenzgaenger: So wie es Delphifan formuliert hat ists besser zu verstehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!