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.ctú 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
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.



