Einführung
In C ist ein Array eine Sammlung ähnlicher Datentypen, die an aufeinanderfolgenden Speicherorten gespeichert sind. Es hilft, mehrere Werte unter einem einzigen Variablennamen zu speichern, spart Speicherplatz und vereinfacht die Code-Struktur. In diesem Lab werden wir lernen, wie man ein Element in ein Array an einer bestimmten Position einfügt.
Hinweis: Sie müssen die Datei
~/project/main.cselbst erstellen, um zu üben, zu codieren und zu lernen, wie man sie mit gcc kompiliert und ausführt.
cd ~/project
## main.c erstellen
touch main.c
## main.c kompilieren
gcc main.c -o main
## main ausführen
./main
Ein Array erstellen
In diesem Schritt werden wir ein Array mit einigen Anfangselementen erstellen und seine Werte anzeigen.
#include <stdio.h>
int main() {
// Variablen und Array definieren
int array[5] = {10, 20, 30, 40, 50};
int n = 5, i;
printf("Initiales Array: ");
for(i=0; i<n; i++) {
printf("%d ", array[i]);
}
return 0;
}
Benutzer-Eingaben entgegennehmen
In diesem Schritt werden wir die Eingaben des Benutzers für den neuen Wert, der eingefügt werden soll, und den Index, an dem der Wert eingefügt werden soll, entgegennehmen.
#include <stdio.h>
int main() {
// Variablen und Array definieren
int array[5] = {10, 20, 30, 40, 50};
int n = 5, i, value, position;
printf("Initiales Array: ");
for(i=0; i<n; i++) {
printf("%d ", array[i]);
}
// Eingaben für neuen Wert und Position entgegennehmen
printf("\n\nGeben Sie den Wert ein, der eingefügt werden soll: ");
scanf("%d", &value);
printf("Geben Sie die Position ein, an der eingefügt werden soll: ");
scanf("%d", &position);
return 0;
}
Das Element einfügen
In diesem Schritt werden wir das neue Element an der angegebenen Position in das Array einfügen. Wir werden die vorhandenen Elemente nach rechts von der Position verschieben und das neue Element an der Positionsindex einfügen.
#include <stdio.h>
int main() {
// Variablen und Array definieren
int array[5] = {10, 20, 30, 40, 50};
int n = 5, i, value, position;
printf("Initiales Array: ");
for(i=0; i<n; i++) {
printf("%d ", array[i]);
}
// Eingaben für neuen Wert und Position entgegennehmen
printf("\n\nGeben Sie den Wert ein, der eingefügt werden soll: ");
scanf("%d", &value);
printf("Geben Sie die Position ein, an der eingefügt werden soll: ");
scanf("%d", &position);
// Die vorhandenen Elemente nach rechts von der Position verschieben
for(i=n-1; i>=position-1; i--) {
array[i+1] = array[i];
}
// Das neue Element an der Positionsindex einfügen
array[position-1] = value;
return 0;
}
Das Ergebnis anzeigen
In diesem Schritt werden wir das neue Array mit dem eingefügten Element anzeigen.
#include <stdio.h>
int main() {
// Variablen und Array definieren
int array[5] = {10, 20, 30, 40, 50};
int n = 5, i, value, position;
printf("Initiales Array: ");
for(i=0; i<n; i++) {
printf("%d ", array[i]);
}
// Eingaben für neuen Wert und Position entgegennehmen
printf("\n\nGeben Sie den Wert ein, der eingefügt werden soll: ");
scanf("%d", &value);
printf("Geben Sie die Position ein, an der eingefügt werden soll: ");
scanf("%d", &position);
// Die vorhandenen Elemente nach rechts von der Position verschieben
for(i=n-1; i>=position-1; i--) {
array[i+1] = array[i];
}
// Das neue Element an der Positionsindex einfügen
array[position-1] = value;
// Das neue Array anzeigen
printf("\n\nNeues Array mit dem eingefügten Element: ");
for(i=0; i<n+1; i++) {
printf("%d ", array[i]);
}
return 0;
}
Endgültiger Code
Das folgende ist der Endgültige Code zum Einfügen eines Elements in ein Array:
#include <stdio.h>
int main() {
// Variablen und Array definieren
int array[5] = {10, 20, 30, 40, 50};
int n = 5, i, value, position;
printf("Initiales Array: ");
for(i=0; i<n; i++) {
printf("%d ", array[i]);
}
// Eingaben für neuen Wert und Position entgegennehmen
printf("\n\nGeben Sie den Wert ein, der eingefügt werden soll: ");
scanf("%d", &value);
printf("Geben Sie die Position ein, an der eingefügt werden soll: ");
scanf("%d", &position);
// Die vorhandenen Elemente nach rechts von der Position verschieben
for(i=n-1; i>=position-1; i--) {
array[i+1] = array[i];
}
// Das neue Element an der Positionsindex einfügen
array[position-1] = value;
// Das neue Array anzeigen
printf("\n\nNeues Array mit dem eingefügten Element: ");
for(i=0; i<n+1; i++) {
printf("%d ", array[i]);
}
return 0;
}
Zusammenfassung
In diesem Lab haben wir gelernt, wie man in C ein Element an einer bestimmten Position in einem Array einfügt. Wir haben ein initiales Array erstellt, die Eingaben des Benutzers für das neue Element und die Position entgegen genommen, das Element an der angegebenen Position im Array eingefügt, indem wir die vorhandenen Elemente nach rechts verschoben haben, und das neue resultierende Array angezeigt.



