Forum: Compiler & IDEs Array und String


von Danny H. (danny)


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

von Thomas S. (tstuetz)


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

von Josef Zimmermann (Gast)


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?

von Danny H. (danny)


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!

von Christoph _. (chris)


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' */

von Rolf Magnus (Gast)


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"?

von Rufus Τ. F. (rufus) Benutzerseite


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 ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.