martes, 22 de agosto de 2017

Bienvenidos a mi primer blogger donde les voy a presentar un ejercicio de matrices con funciones  elaborado en c# y pseint.
el ejercicio trata de un menú de opciones en las cuales las opciones a ingresar son:

  1. mostrar las matrices 
  2. suma de las matrices
  3. resta de las matrices
  4. producto de matrices
  5. transposición de cada matriz
  6. 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 

SubProceso  menu(op,m1,m2,m3,m4,m5,f,c,i,j)
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











No hay comentarios:

Publicar un comentario