mikrocontroller.net

Forum: Compiler & IDEs Array und String


Autor: Danny Hiebel (danny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

ich habe ein kleines Problem mit mehreren Arays z.B.:

int A[10] ={120,130,0,5,97,1247,547,984,157,17};
int B[10] ={98,129,23,0,23,98,987,111,129,430};
.
.
.

So weit so gut. Ich würde diese gerne über ein String z.B. 'ABBAB'
ansprechen.
Das heißt, das entsprechende Array soll dann z.B an PortC (ich weiß das
ein Int nicht in ein Port passt, ist auch nicht das problem) nach und
nach mittels schleife ausgegeben werden. Gibt es da eine "simple"
möglichkeit? Das ganze soll später variaben gehalten werden (heute
BBAAB, morgen BACBA,...; als Beispiele), dadurch scheidet ein festes
Programm aus. Ich bin für jede Idee/Vorschlag offen.


Gruß Danny

Autor: Thomas Stütz (tstuetz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry Danny,
aber das blickt keine Sau.

Hab ich das richtig verstanden das wenn du 'ABBAB' ausgeben willst
an PortC die folgenden Werte ausgegeben werden:
A[0] B[0] B[1] A[1] B[2]
120,  98, 129, 130, 23

oder hab ich das falsch verstanden ?

Gruss

Autor: Josef Zimmermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist wnne Du einfach ein mehrfaches Array an legts.

int A[2][10] = { {120,130,0,5,97,1247,547,984,157,17};
                 {98,129,23,0,23,98,987,111,129,430}; };

A wäre dann A[0] und B entspräche A[1].

Oder habe ich was falsch verstanden?

Autor: Danny Hiebel (danny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
War etwas unverständlich. Ich will erst alle Werte aus A, dann alle
Werte aus B, usw ausgeben. Wie ich die Werte aus A, B,... ausgebe weiß
ich, nur wie ich aus der Zeichenfolge 'BABABBA...' die einzelnen
Arrays extrahiere, das weiß ich noch nicht. Aber Danke für Eure Mühe!

Autor: Christoph __ (chris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> War etwas unverständlich.

Ist es leider immer noch. Aus einer Zeichenfolge kannst du keine Arrays
extrahieren, da eine Zeichenfolge aus Zeichen besteht, nicht aus Arrays
(tschuldigung für diese primitive Feststellung).

Willst du die einzelnen Zeichen "extrahieren" und einzeln behandeln?
In dem Fall kannst du doch mit dem Index-Operator [] die einzelnen
Zeichen ganz einfach direkt abfragen?
if(zeichen_folge[0] == 'A') /* erstes zeichen ist ein 'A' */

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich will erst alle Werte aus A, dann alle Werte aus B, usw
> ausgeben.

Was heißt "usw"? In deinem Beispiel gab es nur A und B.

> Wie ich die Werte aus A, B,... ausgebe weiß ich, nur wie ich aus
> der Zeichenfolge 'BABABBA...' die einzelnen Arrays extrahiere,
> das weiß ich noch nicht. Aber Danke für Eure Mühe!

Was meinst du damit? Ich denke, es sollen zuerst alle Werte aus A, dann
alle Werte aus B ausgegeben werden. Was soll dann das "BABABA" machen?
Was meinst du mit "extrahieren"?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht möchte er -gesteuert durch den "ABBBA"-String- Werte aus
beiden Arrays extrahieren, so in diesem Sinne:


  for (i = 0; i < 10; i++)
  {
    if (String[i] == 'A')
      printf("%d ", A[i]);
    else
      printf("%d ", B[i]);
  }


(statt printf die gewünschte Ausgabeoperation einsetzen)

Das ganze zeigt, daß eine präzise(re) Ausdrucksweise helfen könnte,
anderen einen Sachverhalt verständlich zu machen ...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.