Elemente in C-Arrays einfügen

CCBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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