1
#include
#include
#include
#include
HANDLE hConsoleOutput; /*Estas 2 líneas son para emular el gotoxy*/
COORD coord;
void carga(int matriz ,int filas,int columnas);
void suma(int matriz ,int matriz2 ,int filas,int columnas);
void transpuesta(int matriz ,int filas,int columnas);
main()
{
int matriz;
int matriz2;
inti, j, k;
int bienfila, biencolumna, filas, columnas;
bienfila=0;
biencolumna=0;
//Pedido de ingreso de filas y columnas
while (bienfila==0)
{
printf("Introduzca el numero de filas (debe ser menor que 10): ";
scanf("%d", &filas);
if (filas<=10) bienfila=1;
}
while (biencolumna==0)
{
printf("Introduzca el numero de columnas (debe ser menor que 10): ";
scanf("%d", &columnas);
if(columnas<=10) biencolumna=1;
}
hConsoleOutput = GetStdHandle (STD_OUTPUT_HANDLE); /*Estas 3 líneas son para indicar la posición*/
coord.X = 0; coord.Y = 4;
SetConsoleCursorPosition (hConsoleOutput, coord);
//Carga de la primer matriz
printf("Carga de elementos de la primer matriz de %d filas y %d columnasn", filas, columnas);
carga(matriz,filas,columnas);
//Carga de la segunda matriz printf("Carga de elementos de la segunda matriz de %d filas y %d columnasn", filas, columnas);
carga(matriz2,filas,columnas);
//Suma las dos matrices
suma(matriz,matriz2,filas,columnas);
getch();
}
//Procedimientos
// Procedimiento utilizado para cargar las dos matrices
void carga(int matriz ,int filas,int columnas)
{
int i,j;
for (i = 0 ; i < filas ; i++)
{
coord.X = 0; coord.Y =coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < columnas ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
scanf("%d", &matriz[j]);
}
}
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
}
// Procedimiento utilizado para sumar las dos matrices
void suma(int matriz ,intmatriz2 ,int filas,int columnas)
{
int i,j;
int resultado;
coord.X = 0; coord.Y = coord.Y+2;
SetConsoleCursorPosition (hConsoleOutput, coord);
printf("El resultado de la suma de las dos matrices de %d filas y %d columnasn", filas, columnas);
for (i = 0 ; i < filas ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < columnas ;j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ;
SetConsoleCursorPosition (hConsoleOutput, coord);
resultado[j]=matriz[j]+matriz2[j];
printf("%d n", resultado[j]);
}
}
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
// El procedimiento llama a otro procedimiento para obtener la transpuesta del resultado
transpuesta(resultado,filas,columnas);
} //Procedimiento utilizado para obtener la matriz transpuesta
void transpuesta(int matriz ,int filas,int columnas)
{
int i,j;
int transpuesta ;
printf("La matriz transpuesta es: ";
for (i = 0 ; i < columnas ; i++)
{
coord.X = 0; coord.Y = coord.Y + 2;
SetConsoleCursorPosition (hConsoleOutput, coord);
for (j = 0 ; j < filas ; j++)
{
coord.X = coord.X + 5; coord.Y = coord.Y ; SetConsoleCursorPosition (hConsoleOutput, coord);
transpuesta[j]=matriz[j];
printf("%d n", transpuesta[j]);
}
}
}
2- MULTIPLICACIÓN DE DOS MATRICES
#include
#include
#include
#include
HANDLE hConsoleOutput; /*Estas 2 líneas son para emular el gotoxy*/
COORD coord;
void carga(int matriz );
void producto(int matriz ,int matriz2 );
main()
{
intmatriz;
int matriz2;
hConsoleOutput = GetStdHandle (STD_OUTPUT_HANDLE); /*Estas 3 líneas son para indicar la posición*/
coord.X = 0; coord.Y = 1;
SetConsoleCursorPosition (hConsoleOutput, coord);
//Carga de la primer matriz
printf("Carga de elementos de la primer matriz de 3 filas y 3 columnasn";
carga(matriz);
//Carga de la segunda matriz
printf("Carga de elementos de la segunda matriz de...
Regístrate para leer el documento completo.