Insertando elementos en matrices de C

CCBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En C, una matriz es una colección de tipos de datos similares almacenados en ubicaciones de memoria contiguas. Ayuda a almacenar múltiples valores bajo un solo nombre de variable, ahorrando espacio de memoria y simplificando la estructura del código. En este laboratorio, aprenderemos cómo insertar un elemento en una matriz en una posición específica.

Nota: Debes crear el archivo ~/project/main.c tú mismo para practicar la codificación y aprender cómo compilar y ejecutarlo usando gcc.

cd ~/project
## crear main.c
touch main.c
## compilar main.c
gcc main.c -o main
## ejecutar 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{{"Insertando elementos en matrices de C"}} c/for_loop -.-> lab-123269{{"Insertando elementos en matrices de C"}} c/arrays -.-> lab-123269{{"Insertando elementos en matrices de C"}} c/user_input -.-> lab-123269{{"Insertando elementos en matrices de C"}} c/output -.-> lab-123269{{"Insertando elementos en matrices de C"}} end

Creando una matriz

En este paso, crearemos una matriz con algunos elementos iniciales y mostraremos sus valores.

#include <stdio.h>

int main() {
    // Definir variables y matriz
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i;

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

    return 0;
}

Tomando la entrada del usuario

En este paso, obtendremos la entrada del usuario para el nuevo valor a insertar y el índice donde se insertará el valor.

#include <stdio.h>

int main() {
    // Definir variables y matriz
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

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

    // Tomar la entrada para el nuevo valor y la posición
    printf("\n\nIngrese el valor a insertar: ");
    scanf("%d", &value);

    printf("Ingrese la posición para insertar: ");
    scanf("%d", &position);

    return 0;
}

Insertando el elemento

En este paso, insertaremos el nuevo elemento en la matriz en la posición dada. Desplazaremos los elementos existentes hacia la derecha de la posición y agregaremos el nuevo elemento en el índice de la posición.

#include <stdio.h>

int main() {
    // Definir variables y matriz
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

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

    // Tomar la entrada para el nuevo valor y la posición
    printf("\n\nIngrese el valor a insertar: ");
    scanf("%d", &value);

    printf("Ingrese la posición para insertar: ");
    scanf("%d", &position);

    // Desplazar los elementos existentes hacia la derecha de la posición
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insertar el nuevo elemento en el índice de la posición
    array[position-1] = value;

    return 0;
}

Mostrando el resultado

En este paso, mostraremos la nueva matriz con el elemento insertado.

#include <stdio.h>

int main() {
    // Definir variables y matriz
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

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

    // Tomar la entrada para el nuevo valor y la posición
    printf("\n\nIngrese el valor a insertar: ");
    scanf("%d", &value);

    printf("Ingrese la posición para insertar: ");
    scanf("%d", &position);

    // Desplazar los elementos existentes hacia la derecha de la posición
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insertar el nuevo elemento en el índice de la posición
    array[position-1] = value;

    // Mostrar la nueva matriz
    printf("\n\nNueva matriz con el elemento insertado: ");
    for(i=0; i<n+1; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Código final

A continuación se muestra el código final para insertar un elemento en una matriz:

#include <stdio.h>

int main() {
    // Definir variables y matriz
    int array[5] = {10, 20, 30, 40, 50};
    int n = 5, i, value, position;

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

    // Tomar la entrada para el nuevo valor y la posición
    printf("\n\nIngrese el valor a insertar: ");
    scanf("%d", &value);

    printf("Ingrese la posición para insertar: ");
    scanf("%d", &position);

    // Desplazar los elementos existentes hacia la derecha de la posición
    for(i=n-1; i>=position-1; i--) {
        array[i+1] = array[i];
    }

    // Insertar el nuevo elemento en el índice de la posición
    array[position-1] = value;

    // Mostrar la nueva matriz
    printf("\n\nNueva matriz con el elemento insertado: ");
    for(i=0; i<n+1; i++) {
        printf("%d ", array[i]);
    }

    return 0;
}

Resumen

En este laboratorio, aprendimos cómo insertar un elemento en una matriz en una posición específica utilizando C. Creamos una matriz inicial, tomamos la entrada del usuario para el nuevo elemento y la posición, insertamos el elemento en la matriz en la posición especificada desplazando los elementos existentes hacia la derecha y mostramos la nueva matriz resultante.