Suma de Matrices y Vectores en Lenguaje C: Código y Explicación
Clasificado en Matemáticas
Escrito el en
español con un tamaño de 3,95 KB
Implementación de Suma de Matrices en C
Este programa permite realizar la suma de dos matrices de dimensiones dinámicas definidas por el usuario. A continuación, se presenta el código corregido y estructurado:
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j, filas, columnas;
printf("\nEste programa suma dos matrices e imprime el resultado");
printf("\nDame el número de filas: ");
scanf("%i", &filas);
printf("\nDame el número de columnas: ");
scanf("%i", &columnas);
// Declaración de matrices
int A[filas][columnas], B[filas][columnas], suma[filas][columnas];
printf("\nValores de la matriz A");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("\nDame el valor de la celda %i,%i: ", i, j);
scanf("%i", &A[i][j]);
}
}
printf("\nValores de la matriz B");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("\nDame el valor de la celda %i,%i: ", i, j);
scanf("%i", &B[i][j]);
}
}
// Operación de suma
printf("\nSuma de matrices");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
suma[i][j] = A[i][j] + B[i][j];
}
}
printf("\nResultado de la suma");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("\n %i", suma[i][j]);
}
system("cls");
}
// Impresión de resultados finales
printf("\nMatriz A:\n");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("%i ", A[i][j]);
}
printf("\n");
}
printf("\nMatriz B:\n");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("%i ", B[i][j]);
}
printf("\n");
}
printf("\nMatriz Suma:\n");
for(i = 0; i < filas; i++) {
for(j = 0; j < columnas; j++) {
printf("%i ", suma[i][j]);
}
printf("\n");
}
return 0;
}Conceptos clave aplicados:
- Arreglos bidimensionales: Estructuras que almacenan datos en formato de tabla (filas y columnas).
- Bucles anidados: Uso de for para recorrer cada posición de la matriz.
- Entrada/Salida: Uso de printf y scanf para interactuar con el usuario.
Suma de Vectores en Lenguaje C
En este ejemplo, trabajamos con vectores (arreglos unidimensionales) de tamaño fijo para realizar una suma aritmética simple entre sus elementos.
#include <stdio.h>
int main() {
int i, V1[5], V2[5], V3[5];
printf("\nEste programa suma dos vectores");
printf("\nIntroduzca los datos del vector 1");
for (i = 0; i <= 4; i++) {
printf("\nDame el valor %i: ", i);
scanf("%i", &V1[i]);
}
printf("\nIntroduzca los datos del vector 2");
for (i = 0; i <= 4; i++) {
printf("\nDame el valor %i: ", i);
scanf("%i", &V2[i]);
}
// Cálculo de la suma de vectores
for (i = 0; i <= 4; i++) {
V3[i] = V1[i] + V2[i];
}
// Mostrar resultados
printf("\nVector 1: ");
for (i = 0; i <= 4; i++) {
printf("%i ", V1[i]);
}
printf("\nVector 2: ");
for (i = 0; i <= 4; i++) {
printf("%i ", V2[i]);
}
printf("\nVector 3 (Resultado): ");
for (i = 0; i <= 4; i++) {
printf("%i ", V3[i]);
}
return 0;
}Diferencias principales:
A diferencia de las matrices, los vectores solo requieren un índice para acceder a sus elementos, lo que simplifica la estructura de los bucles de control.