INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
einfache Initialisierung mehrdim. Arrays
28.04.2015, 19:09 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2015 19:39 von HaWe.)
Beitrag #1
einfache Initialisierung mehrdim. Arrays
hallo,
ich habe ein kleines Programmier-/ Initialisier-Problem mit arrays:
statt umständlich so zu initialisieren:
Code:
//
    Input[1][1] = 0;
    Input[1][2] = 0;
    Input[1][3] = 0;
    Input[1][4] = 0;
    Input[1][5] = 0;
    Input[1][6] = 0;
  
    Input[2][1] = 0;
    Input[2][2] = 0;
    Input[2][3] = 1;
    Input[2][4] = 0;
    Input[2][5] = 0;
    Input[2][6] = 1;
  
    Input[3][1] = 0;
    Input[3][2] = 1;
    Input[3][3] = 0;
    Input[3][4] = 0;
    Input[3][5] = 1;
    Input[3][6] = 0;

möchte ich es so ähnlich wie hier machen - was natürlich so nicht geht...:
Code:
//
    Input[1][] = {0,0,0,0,0,0};
    Input[2][] = {0,0,1,0,0,1};
    Input[3][] = {0,1,0,0,1,0};

hat jemand eine Idee für eine ähnlich schnell zu schreibende, simple Methode?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2015, 19:59
Beitrag #2
RE: einfache Initialisierung mehrdim. Arrays
Hallo HaWe,

einen Variablentyp sollte man auch angeben. Smile

Code:
byte input[3][6] = { {0,0,0,0,0,0} , {0,0,1,0,0,1} , {0,1,0,0,1,0} } ;

oder wegen der Übersicht
Code:
byte input[3][6] = {
                     {0,0,0,0,0,0} ,
                     {0,0,1,0,0,1} ,
                     {0,1,0,0,1,0}
                   } ;

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.04.2015, 20:03 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2015 20:04 von HaWe.)
Beitrag #3
RE: einfache Initialisierung mehrdim. Arrays
hallo,
danke, aber ich möchte nicht den kompletten array auf einmal eingeben, sondern nur schrittweise, einzeln, jeweils Zeile für Zeile!
(mit dem Datentyp Byte hattest du natürlich prinzipiell Recht Smile )
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.04.2015, 09:46
Beitrag #4
RE: einfache Initialisierung mehrdim. Arrays
Hi,
mir sieht das, was Du da machst, danach aus als ob Du eigentlich nur einzelne Bits hast. Oder kann auch was anderes als 0 und 1 vorkommen? Falls ich damit Recht habe, dann wuerde ich statt einem zweidimensionalen Array einfach nur ein eindimensionales nehmen und dann einfach die entsprechenden Bits setzen.
Also in etwa so:
Code:
byte input[3];
input[0] = B00000000;
input[1] = B00001001;
input[2] = B00010010;
Lesen kann man das mit bitRead, z.B.:
Code:
byte blabla = bitRead(input[1],3);  // sollte 1 ergeben
Ansonsten, falls Du tatsaechlich Arrays von Arrays brauchst, bastle Dir eine entsprechende Funktion...
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.04.2015, 10:20 (Dieser Beitrag wurde zuletzt bearbeitet: 29.04.2015 10:22 von HaWe.)
Beitrag #5
RE: einfache Initialisierung mehrdim. Arrays
hallo,
im Prinzip hast du Recht, zumindest momentan für die Initialisierung!

streng genommen habe ich aber sogar arrays of float, die nur zu Initialisieungszwecken mit 0 oder 1 belegt werden.
Die arrays sind momentan nur 8 Stellen lang, können aber auch 100 oder mehr Stellen lang werden, daran arbeite ich gerade.
Es ging mir zunächst um eine simplere Schreibweise für den Sourcecode um Schreibarbeit zu sparen.

Falls wirklich eine Funktion nötig werden sollte statt der {.....} Schreibweise etc., habe ich mir schon überlegt, für die Initialisierung einen temporären 1-dim float-Array zu verwenden, ihn per strcpy zu belegen, und ihn dann per for-Schleife auf den mehrdim. float-Array zu übertragen.
Ist ntl schon ein bisschen mehr Schreibarbeit, zumal ich 50-100 solcher 100er Arrays habe Wink
Auf der anderen Seite ist es nur zu Testzwecken, später werde ich die Werte aus einem File von SD einlesen (wenn alles so klappt wie vorgesehen und mir die Sache nicht über den Kopf wächst... Wink )
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.04.2015, 10:38
Beitrag #6
RE: einfache Initialisierung mehrdim. Arrays
Hi,
Dir ist aber schon klar, dass ein float 4 Byte hat? Wenn Du 100 Arrays zu je 100 floats hast, dann sind das 40000 Bytes. Das passt auch in einen Mega nicht mehr rein.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.04.2015, 10:44 (Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2015 10:25 von HaWe.)
Beitrag #7
RE: einfache Initialisierung mehrdim. Arrays
hallo,
ja, da hast du Recht, es ist für ein Due-Projekt (oder größer) 8-)

http://www.mindstormsforum.de/viewtopic....151#p67035

(edit: Link aktualisiert)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
29.04.2015, 11:06
Beitrag #8
RE: einfache Initialisierung mehrdim. Arrays
Hi,
also wenn Du den Kram eh von einer SD-Karte einlesen willst, dann wuerde ich das gleich so machen.
...ausser natuerlich, wenn Deine Initialisierungsdaten einer bestimmten Regel folgen. Dann wuerde ich das gleich als Funktion im Programm implementieren.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  große 2-dim float-Arrays schnell auf SD speichern und zurücklesen? HaWe 25 2.190 22.06.2015 14:41
Letzter Beitrag: Thorsten Pferdekämper
  wieder mal: Problem mit arrays als Fkt.-Parameter HaWe 13 1.264 13.05.2015 09:29
Letzter Beitrag: Thorsten Pferdekämper
  Referenz eines Arrays in Klasse nutzen jensel 5 875 23.02.2015 11:46
Letzter Beitrag: Thorsten Pferdekämper
  Einfache Tastenabfrage King-Bobman 6 1.682 13.02.2015 14:37
Letzter Beitrag: tito-t
  Initialisierung der Schnittstelle durch IDE Waishon 1 1.037 09.02.2015 03:59
Letzter Beitrag: rkuehle
  Flash: schnelles Speichern und Lesen "großer" 1-2-dim Arrays und Structures? HaWe 37 5.306 30.11.2014 18:40
Letzter Beitrag: HaWe

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste