Insertion d'éléments dans les tableaux C

CCBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En C, un tableau est une collection de types de données similaires stockés dans des emplacements mémoire contigus. Cela aide à stocker plusieurs valeurs sous un seul nom de variable, économisant de l'espace mémoire et simplifiant la structure du code. Dans ce laboratoire, nous allons apprendre à insérer un élément dans un tableau à une position spécifique.

Note: Vous devez créer le fichier ~/project/main.c vous-même pour pratiquer la programmation et apprendre à le compiler et à l'exécuter à l'aide de gcc.

cd ~/project
## créer main.c
touch main.c
## compiler main.c
gcc main.c -o main
## exécuter main
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/BasicsGroup(["Basics"]) c(("C")) -.-> c/ControlFlowGroup(["Control Flow"]) c(("C")) -.-> c/CompoundTypesGroup(["Compound Types"]) c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c/BasicsGroup -.-> c/variables("Variables") c/ControlFlowGroup -.-> c/for_loop("For Loop") c/CompoundTypesGroup -.-> c/arrays("Arrays") c/UserInteractionGroup -.-> c/user_input("User Input") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123269{{"Insertion d'éléments dans les tableaux C"}} c/for_loop -.-> lab-123269{{"Insertion d'éléments dans les tableaux C"}} c/arrays -.-> lab-123269{{"Insertion d'éléments dans les tableaux C"}} c/user_input -.-> lab-123269{{"Insertion d'éléments dans les tableaux C"}} c/output -.-> lab-123269{{"Insertion d'éléments dans les tableaux C"}} end

Création d'un tableau

Dans cette étape, nous allons créer un tableau avec quelques éléments initiaux et afficher ses valeurs.

#include <stdio.h>

int main() {
    // Définir les variables et le tableau
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i;

    printf("Tableau initial : ");
    for(i=0; i<n; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Demande d'entrée utilisateur

Dans cette étape, nous allons demander à l'utilisateur d'entrer la nouvelle valeur à insérer et l'index où la valeur sera insérée.

#include <stdio.h>

int main() {
    // Définir les variables et le tableau
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

    printf("Tableau initial : ");
    for(i=0; i<n; i++) {
        printf("%d ", array[i]);
    }

    // Demander l'entrée pour la nouvelle valeur et la position
    printf("\n\nEntrez la valeur à insérer : ");
    scanf("%d", &value);

    printf("Entrez la position à insérer : ");
    scanf("%d", &position);

    return 0;
}

Insertion de l'élément

Dans cette étape, nous allons insérer le nouvel élément dans le tableau à la position donnée. Nous allons déplacer les éléments existants vers la droite de la position et ajouter le nouvel élément à l'index de la position.

#include <stdio.h>

int main() {
    // Définir les variables et le tableau
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

    printf("Tableau initial : ");
    for(i=0; i<n; i++) {
        printf("%d ", array[i]);
    }

    // Demander l'entrée pour la nouvelle valeur et la position
    printf("\n\nEntrez la valeur à insérer : ");
    scanf("%d", &value);

    printf("Entrez la position à insérer : ");
    scanf("%d", &position);

    // Déplacer les éléments existants vers la droite de la position
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insérer le nouvel élément à l'index de la position
    array[position-1] = value;

    return 0;
}

Affichage du résultat

Dans cette étape, nous allons afficher le nouveau tableau avec l'élément inséré.

#include <stdio.h>

int main() {
    // Définir les variables et le tableau
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

    printf("Tableau initial : ");
    for(i=0; i<n; i++) {
        printf("%d ", array[i]);
    }

    // Demander l'entrée pour la nouvelle valeur et la position
    printf("\n\nEntrez la valeur à insérer : ");
    scanf("%d", &value);

    printf("Entrez la position à insérer : ");
    scanf("%d", &position);

    // Déplacer les éléments existants vers la droite de la position
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insérer le nouvel élément à l'index de la position
    array[position-1] = value;

    // Afficher le nouveau tableau
    printf("\n\nNouveau tableau avec l'élément inséré : ");
    for(i=0; i<n+1; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Code final

Voici le code final pour insérer un élément dans un tableau :

#include <stdio.h>

int main() {
    // Définir les variables et le tableau
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

    printf("Tableau initial : ");
    for(i=0; i<n; i++) {
        printf("%d ", array[i]);
    }

    // Demander l'entrée pour la nouvelle valeur et la position
    printf("\n\nEntrez la valeur à insérer : ");
    scanf("%d", &value);

    printf("Entrez la position à insérer : ");
    scanf("%d", &position);

    // Déplacer les éléments existants vers la droite de la position
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insérer le nouvel élément à l'index de la position
    array[position-1] = value;

    // Afficher le nouveau tableau
    printf("\n\nNouveau tableau avec l'élément inséré : ");
    for(i=0; i<n+1; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Résumé

Dans ce laboratoire, nous avons appris à insérer un élément dans un tableau à une position spécifique en utilisant le langage C. Nous avons créé un tableau initial, demandé à l'utilisateur d'entrer le nouvel élément et la position, inséré l'élément dans le tableau à la position spécifiée en déplaçant les éléments existants vers la droite, et affiché le nouveau tableau résultant.