el ejercicio trata de un menú de opciones en las cuales las opciones a ingresar son:
- mostrar las matrices
- suma de las matrices
- resta de las matrices
- producto de matrices
- transposición de cada matriz
- salir
c#
using System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Threading.Tasks;
namespace Menu de opciones
{
class Program
{
static void
menu(int
op, double[,]
m1, double[,]
m2, double[,]
m3, double[,]
m4, double[,]
m5, double
f, double
c, int
i, int
j)
{
int k;
Console.Clear();
switch (op)
{
case 1:
Console.Clear();
Console.WriteLine("LA
PRIMERA MATRIZ ES");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
SEGUNDA MATRIZ ES");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.ReadKey();
break;
case 2:
Console.WriteLine("las
matrices ingresadas son:");
Console.WriteLine("primera
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("segunda
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
SUMA DE MATRICES ES:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
m3[i, j] = m1[i, j]
+ m2[i, j];
}
}
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m3[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.ReadKey();
break;
case 3:
Console.WriteLine("las
matrices ingresadas son:");
Console.WriteLine("primera
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("segunda
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
RESTA DE MATRICES ES");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
m4[i, j] = m1[i, j] - m2[i, j];
}
}
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m4[i, j] + " ");
}
Console.WriteLine(" ");
}
Console.ReadKey();
break;
case 4:
Console.WriteLine("las
matrices ingresadas son:");
Console.WriteLine("primera
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("segunda
matriz:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("EL
PRODUCTO DE MATRICES ES:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
m5[i, j] = 0;
for (k = 0; k
<= c; k++)
{
m5[i, j] =
m5[i, j] + m1[i, k] * m2[k, j];
}
}
}
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m5[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.ReadKey();
break;
case 5:
Console.WriteLine("LA
MATRICES ORIGINAL 1 ES:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
TRANSPUESTA DE LA MATRIZ 1 ES:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m1[j,
i] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
MATRIZ ORIGINAL 2 ES");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[i,
j] + " ");
}
Console.WriteLine(" ");
}
Console.WriteLine("LA
TRANSPUESTA DE LA MATRIZ 2 ES:");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.Write(m2[j,
i] + " ");
}
Console.WriteLine(" ");
}
Console.ReadKey();
break;
case 6:
Console.WriteLine("Adios");
Console.ReadKey();
break;
default :
Console.WriteLine("Opcion
invalida");
Console.ReadKey();
break;
}
}
static void
reportemenu()
{
Console.Clear();
Console.WriteLine("ingrese
un numero:");
Console.WriteLine("[1]mostrar
matrices");
Console.WriteLine("[2]suma
de matrices");
Console.WriteLine("[3]resta
de matrices");
Console.WriteLine("[4]producto
de matrices");
Console.WriteLine("[5]transposición");
Console.WriteLine("[6]salir");
}
static void
Main(string[]
args)
{
int c, f, i=0,
j=0, op;
double[,] m1 = new
double[100, 100];
double[,] m2 = new
double[100, 100];
double[,] m3 = new
double[100, 100];
double[,] m4 = new
double[100, 100];
double[,] m5 = new double[100, 100];
Console.WriteLine("NUMERO
DE FILAS:");
f
= int.Parse(Console.ReadLine());
Console.WriteLine("NUMERO
DE COMUMNAS:");
c = int.Parse(Console.ReadLine());
f = f - 1;
c = c - 1;
Console.WriteLine("MATRIZ
1");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.WriteLine("NUMERO
POSICION:[" + i + "-" + j + "]");
m1[i, j] = Double.Parse(Console.ReadLine());
}
}
Console.Clear();
Console.WriteLine("MATRIZ
2");
for (i = 0; i
<= f; i++)
{
for (j = 0; j
<= c; j++)
{
Console.WriteLine("NUMERO
POSICION:[" + i + "-" + j + "]");
m2[i, j] = Double.Parse(Console.ReadLine());
}
}
Console.Clear();
do
{
reportemenu();
do
{
Console.WriteLine("ingrese
una opcion");
op
= int.Parse(Console.ReadLine());
} while (op <=
0 || op > 7);
menu(op,
m1, m2, m3, m4, m5, f, c, i, j);
} while ((op !=
6));
}
}
}
pseint
Limpiar Pantalla;
Segun op Hacer
1:
Escribir "LA PRIMERA MATRIZ ES";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA SEGUNDA MATRIZ ES";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Esperar Tecla;
2:
Escribir "las matrices ingresadas son:";
Escribir "primera matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "segunda matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA SUMA DE MATRICES ES:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
m3[i,j]<-m1[i,j]+m2[i,j];
FinPara
FinPara
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
escribir ,m3[i,j],' 'sin saltar;
FinPara
escribir ' ';
FinPara
Esperar Tecla;
3:
Escribir "las matrices ingresadas son:";
Escribir "primera matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "segunda matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA RESTA DE MATRICES ES";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
m4[i,j]<-m1[i,j]-m2[i,j];
FinPara
FinPara
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
escribir ,m4[i,j],' 'sin saltar;
FinPara
escribir ' ';
FinPara
Esperar Tecla;
4:
definir k como entero;
Escribir "las matrices ingresadas son:";
Escribir "primera matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "segunda matriz:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "EL PRODUCTO DE MATRICES ES:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
m5[i,j]<-0;
Para k<-0 Hasta c Con Paso 1 Hacer
m5[i,j]<- m5[i,j]+m1[i,k]*m2[k,j];
FinPara
FinPara
FinPara
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
escribir ,m5[i,j],' 'sin saltar;
FinPara
escribir ' ';
FinPara
Esperar Tecla;
5:
Escribir "LA MATRICES ORIGINAL 1 ES:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA TRANMUTACION DE LA MATRIZ 1 ES:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m1[j,i],' 'sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA MATRIZ ORIGINAL 2 ES";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[i,j],' ' sin saltar;
FinPara
Escribir ' ';
FinPara
Escribir "LA TRANSMUTACION DE LA MATRIZ 2 ES:";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
Escribir m2[j,i],' 'sin saltar;
FinPara
Escribir ' ';
FinPara
Esperar Tecla;
6:
De Otro Modo:
Escribir "numero invalido";
FinSegun
FinSubProceso
SubProceso reportemenu
Limpiar Pantalla;
escribir"ingrese un numero:";
escribir "[1]mostrar matrices";
Escribir "[2]suma de matrices";
Escribir "[3]resta de matrices";
Escribir "[4]producto de matrices";
Escribir "[5]transposicion";
Escribir "[6]salir";
FinSubProceso
Proceso sin_titulo
definir op,f,c,i,j como entero;
definir m1,m2,m3,m4,m5 como real;
Dimension m1[100,100],m2[100,100],m3[100,100],m4[100,100],m5[100,100];
escribir "NUMERO DE FILAS:";
leer f;
escribir "NUMERO DE COMUMNAS:";
leer c;
f<-f-1;
c<-c-1;
Escribir "MATRIZ 1";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
escribir "NUMERO POSICION:[",i,"-",j,"]";
leer m1[i,j];
FinPara
FinPara
Limpiar Pantalla;
Escribir "MATRIZ 2";
Para i<-0 Hasta f Con Paso 1 Hacer
Para j<-0 Hasta c Con Paso 1 Hacer
escribir "NUMERO POSICION:[",i,"-",j,"]";
leer m2[i,j];
FinPara
FinPara
Limpiar Pantalla;
Repetir
reportemenu();
Repetir
Escribir "ingrese una opcion";
Leer op;
Hasta Que op>0 y op<7
menu(op,m1,m2,m3,m4,m5,f,c,i,j);
Hasta Que (op=6)
FinProceso





