LabVIEWForum.de
Erstellen eines Arrays und vergleichen von Zeilen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Erstellen eines Arrays und vergleichen von Zeilen (/Thread-Erstellen-eines-Arrays-und-vergleichen-von-Zeilen)



Erstellen eines Arrays und vergleichen von Zeilen - beginner85 - 13.09.2011 12:09

Hi,

Mein Problem: ich initialisiere ein Array der Größe 3 Zeilen x 2 Spalten.

Dieses Array möchte ich gerne mit neuen Werten füllen, das mache ich mit der Funktion "In Array einfügen". Nach dem ich die Werte eingefügt habe, hat das Array die Dimensionen geändert. Es besteht nun aus 4 Spalten x 3 Zeilen, ich hab absolut keine Ahnung wodran es liegen kann.

Need help, please!


Ha die Funktion "In Array einfügen" durch "Teilarray ersetzen" ersetzt und es klappt, nur warum hat es mit der anderen Funktion nicht geklappt?


RE: Erstellen eines Arrays und vergleichen von Zeilen - jg - 13.09.2011 12:24

Rtmfx zu den beiden Funktionen.
Insert Into Array fügt ein/hinzu, Replace Array Subset ersetzt. Mehr ist dazu nicht zu sagen.

Außer noch: Die Dimension deines Arrays hat sich nicht verändert (beides sind 2D-Arrays), nur die Größe.

Gruß, Jens


RE: Erstellen eines Arrays und vergleichen von Zeilen - beginner85 - 13.09.2011 12:53

Nachdem ich nun ein Array (2x3) erzeugt habe möchte ich nun jede die erste Spalte aus jeder Zeile miteinander vergleichen.
Dazu wollte ich 2 For-Schleifen in einander schachteln.
Hatte da an soetwas gedacht z.B.: a[0][i] == a[0][i+1]

Die äußere Schleife wollte ich durch Autoindizierung steuern. Die zweite Schleife läuft einen Durchgang weniger, daher hab ich eine Konstante angeschloßen.
Wie kann ich der inneren Schleife nen die Spalte übergeben die quasi "drüber" liegt sodass ich einen Vergleich durchführen kann?


RE: Erstellen eines Arrays und vergleichen von Zeilen - M Nussbaumer - 13.09.2011 13:29

(13.09.2011 12:53 )beginner85 schrieb:  Nachdem ich nun ein Array (2x3) erzeugt habe möchte ich nun jede die erste Spalte aus jeder Zeile miteinander vergleichen.
Dazu wollte ich 2 For-Schleifen in einander schachteln.
Hatte da an soetwas gedacht z.B.: a[0][i] == a[0][i+1]

Die äußere Schleife wollte ich durch Autoindizierung steuern. Die zweite Schleife läuft einen Durchgang weniger, daher hab ich eine Konstante angeschloßen.
Wie kann ich der inneren Schleife nen die Spalte übergeben die quasi "drüber" liegt sodass ich einen Vergleich durchführen kann?

Mit dem Shift-Register kannst du den Zustand der letzten x Schleifenaufrufe anzeigen (Rechtsklick auf die Schleife und Shift-Register auswählen, Datentyp anschliessen und anschliessend aufziehen)

Wieso indizierst du das 2D Array nicht per Index-Array so wie du es vorgeschlagen hast?

Per Array-Size herrausfinden, wieviele Zeilen du hast und das als Schleifendurchgänge für die For-Schleife wählen. In der Schleife das 2D-Array wie du schon gesagt hast indizieren (spricht ja nix dagegen oderWink)

Hoffe das hilft dir weiter!

Gruss Marc


RE: Erstellen eines Arrays und vergleichen von Zeilen - GerdW - 13.09.2011 13:50

Hallo beginner,

so sollte es funktionieren:
[attachment=35848]


RE: Erstellen eines Arrays und vergleichen von Zeilen - Lucki - 13.09.2011 14:10

(13.09.2011 12:53 )beginner85 schrieb:  Nachdem ich nun ein Array (2x3) erzeugt habe möchte ich nun jede die erste Spalte aus jeder Zeile miteinander vergleichen.
[Erbsenzählermodus]
Das Array hat Zeilen und Spalten. Ein Zeile davon hat aber nur noch Elemente, keine Spalten
[/Erbsenzählermodus]


RE: Erstellen eines Arrays und vergleichen von Zeilen - beginner85 - 13.09.2011 16:05

So,

vielleicht sollte ich mit der Aufgabenstellung noch ein wenig weiter ausholen.
In dem Array stehen in der ersten Spalte Zahlen die von 0 bis 3 gehen können, in der 2ten Spalte stehen Zahlen von 0-2.
Mein Ziel ist folgendes:

Sobald in der ersten Spalte mehr als ein Wert auftaucht der größer ist als 0 und in der 2 Spalte mehrmals die gleichen Werte auftauchen, so soll ein rote Lampe angehen.

Bsp:

BSP1: BSP2:
1 2 0 2
2 2 1 2
3 1 3 1

Nun soll die Lampe rot leuchten. Leuchtet nicht

Es sollen alle Zeilen miteinander verbunden werden. Benutze ich Schieberegister, so wird die erste nicht mit der letzen Zeile verglichen.


RE: Erstellen eines Arrays und vergleichen von Zeilen - GerdW - 13.09.2011 17:49

Hallo beginner,

einfach die beiden Spalten untersuchen und die Ergebnisse AND-verknüpfen:
[attachment=35857]

Zitat:Sobald in der ersten Spalte mehr als ein Wert auftaucht der größer ist als 0 und in der 2 Spalte mehrmals die gleichen Werte auftauchen, so soll ein rote Lampe angehen.
Deine Beispiele sind nicht gut gewählt sind, lt. deiner Beschreibung erzeugen beide angegebenen Arrays eine Fehlermeldung - im Gegensatz zu dem von dir geschriebenen Ergebnis. Also ist entweder deine Aufgabenstellung falsch formuliert oder die Beispiele falsch wiedergegeben...