Array und String

OP #237191
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
Gast #237193
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?
OP #237194
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!
#237195
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' */
Gast #237196
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"?
Persönliche Seite #237197
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren