LabVIEWForum.de - 2d-array durchsuchen

LabVIEWForum.de

Normale Version: 2d-array durchsuchen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo allerseits,

ich bin sowohl ein Labview als auch LV-Forum Neuling, also seht es mir nach wenn ich einfache Fragen stelle Big Grin
Ich habe ein ziemlich großes zwei dimensionales Array gefüllt mit "einsen" und "nullen" und ich möchte die Koordinaten aller "einsen" im Array finden, die neben einer "null" stehen.
Allerdings bekomme ich es nicht einmal hin, mit Hilfe der Teilarray Funktion, 1d Teilarrays (der Länge zwei) ausgeben zu lassen.
Mein Plan war, alle diese Teilarrays mit einer Konstante zu vergleichen (die null neben eins stehen hat) und dann mit der booleschen Funktion weiter zu arbeiten.
Hat jemand eine alternative Idee oder kann mir bei meiner weiterhelfen?

Cheers
Rückfrage: Was bedeutet bei dir "neben"? Nur "rechts" daneben, oder auch links, drüber, drunter? Oder sogar schräg?

Nur 1 und 0? Dann würde ich das als Array of Boolean darstellen, dann hast du alles direkt mit Boolscher Logik ermitteln.

Ich sehe im ersten Moment nur die Möglichkeit, sich durch alle Elemente des Arrays zu hangeln...

Pseudocode
Code:
For i=0 to maxrow
   For j=0 to maxcolumn
       if element(i,j) then
          check "Umgebung element"
          Bei bedarf index merken
       endif
   end
end

Gruß, Jens
(01.11.2019 15:31 )Jolle schrieb: [ -> ]aller "einsen" im Array finden, die neben einer "null" stehen.
Aufgrund der nicht ausreichenden Information zum Problem kann man zwei Sachen sagen:
* Die Methode von Jens funktioniert immer und ist von der genauen Problematik, die wir nicht kennen, relativ unabhängig, weil leicht anzupassen.
* Es gibt aber für "Null neben Eins" ein ganz einfaches Mittel: XOR. Siehe Bild.
Hallo Zusammen,

danke soweit schonmal. Tatsächlich meine ich mit neben alle Möglichkeiten (i.e. drüber darüber darunter links rechts und schräg).

Cheers
Hallo Jolie,

Zitat:Tatsächlich meine ich mit neben alle Möglichkeiten (i.e. drüber darüber darunter links rechts und schräg).
ich möchte die Koordinaten aller "einsen" im Array finden, die neben einer "null" stehen.
Zum zweiten Punkt aus deinem ersten Beitrag: ist hier von "genau einer Null" die Rede? Programmieren hat viel mit Logik zu tun, und deine Aussage ist da nicht hinreichend genau formuliert…

Allgemein:
1. Subarray mit 3×3 Elementen aus deinem großen 2D-Array holen
2. Prüfen, ob das mittlere Element == 1 ist
3a. Bei "genau einer Null": die Summe der 9 Elemente muss == 8 sein, um die Bedingung zu erfüllen…
3b. Bei "mindestens einer Null": die Summe der 9 Elemente muss < 9 sein, um die Bedingung zu erfüllen…
4. Wenn 2. und 3. erfüllt sind, hast du einen Treffer!
(06.11.2019 15:32 )GerdW schrieb: [ -> ]Allgemein:
1. Subarray mit 3×3 Elementen aus deinem großen 2D-Array holen
2. Prüfen, ob das mittlere Element == 1 ist
3a. Bei "genau einer Null": die Summe der 9 Elemente muss == 8 sein, um die Bedingung zu erfüllen…
3b. Bei "mindestens einer Null": die Summe der 9 Elemente muss < 9 sein, um die Bedingung zu erfüllen…
4. Wenn 2. und 3. erfüllt sind, hast du einen Treffer!
Ergänzung: "Rand"-Elemente musst du extra behandeln. Das könnte man z.B. dadurch erreichen, dass man das 2D-Array entsprechend vergrößert und den Rand mit Einsern vorbelegt.

Gruß, Jens
Referenz-URLs