Forum: Compiler & IDEs Inhalt eines Array verändern


von Alex (Gast)


Lesenswert?

Hi,
kann jemanden mir eine Beispiel-Code, wie man den Inhalt eines Arrays ab 
eine bestimmte Position für eine bestimmte länge tauscht.
Auf alle Hilfe werde ich mich freuen,.

Alex

von Peter II (Gast)


Lesenswert?

int i[5];

i[2] = 1;
i[3] = 2;

von tritratroll (Gast)


Lesenswert?

Was verstehst du unter
Alex schrieb:
> den Inhalt für eine bestimmte länge tauscht.
?

von Jonas B. (jibi)


Lesenswert?

ich denke er meint: "Funktion die ab einer bestimmten Position im Array 
ein neues einfügt". Also vorher: 23456 kopiere 78 an Stelle 3 gibt dann 
23478. So?

Gruß Jonas

von mar IO (Gast)


Lesenswert?

Ich denke, sowas suchst Du. Hab den Code aber nicht getestet, d.h. es 
könnten Fehler drinnen sein...
1
int myArray[256] = { ... };
2
3
uint size = 8;
4
int cacheArray[size] = { ... };
5
6
uint position1 = 13;
7
uint position2 = 79;
8
9
memcpy(cacheArray, &myArray[position2], size);                      // A -----> C
10
memcpy(&myArray[position2], &myArray[position1], size);       // A <- B
11
memcpy(&myArray[position1], cacheArray, size);                      //         B <- C

von Alex (Gast)


Lesenswert?

Hallo,

es ist mir klar, das Problem liegt bei der Länge. Wenn ich den Inhalt ab 
Position= 2 bis Position =5 -> länge =3. Wie kann ich das in der for 
schleife definiert. Weil die länge und die Position zusammenpassen soll.

danke

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alex schrieb:
> es ist mir klar, das Problem liegt bei der Länge.

Nein. Das Problem liegt bei Deinem Versuch der Beschreibung des 
Problems. Die ist nämlich so schlecht formuliert, daß man irgendwas 
hineininterpretieren kann. Und hineininterpretieren muss man irgendwas, 
weil es so, wie geschrieben, sowieso nicht verständlich ist.

von Karl H. (kbuchegg)


Lesenswert?

Alex schrieb:

> es ist mir klar, das Problem liegt bei der Länge. Wenn ich den Inhalt ab
> Position= 2 bis Position =5 -> länge =3. Wie kann ich das in der for
> schleife definiert.

Ich versuch mal eine Interpretation:

  for( i = 2; i < 6; i++ )


> Weil die länge und die Position zusammenpassen soll.

Dann musst du dir eben überlegen, wie du die einzelnen Werte errechnen 
kannst mit dem was du gegeben hast. Wenn Computer etwas besonders gut 
können, dann ist das rechnen.
Also setz dich auf deinen Allerwertesten, nimm dir Papier und Bleistift 
und spiel ein bischen mit den Zahlen, bis du die Formeln hast. Die 
Berechnungen sind auf dem Niveau, welches ein 8-jähriger Grundschüler 
ohne Probleme beherrscht.

von Gert (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Gut das Alex schon weg ist.
Es ist IMHO wenig sinnvoll, jemanden der noch nicht mal vergleichsweise 
anschaulicher Array-Indizierung und for-Schleifen klarkommt, in Pointer 
reinzujagen.

von Milieu (Gast)


Lesenswert?

warum bekommt jemand so mühsame und detaillierte Antworten, der 
vollkommen wirre und unklare Fragen stellt?

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.