Mostrando entradas con la etiqueta arreglos y vectores en c#. Mostrar todas las entradas
Mostrando entradas con la etiqueta arreglos y vectores en c#. Mostrar todas las entradas

Ejercicios Resueltos de Matrices en C#

Ejercicios Resueltos de Matrices en C# 

Ejemplo 1

Crear una matriz de 3 filas por 4 columnas con elementos de tipo int, ingresar sus posiciones y luego imprimirlas.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
    class Matriz
    {
        private int[,] mat;
        public void Ingresar()
        {
            mat = new int[3, 4];
            for (int f = 0; f < 3; f++)
            {
                for (int c = 0; c < 4; c++)
                {
                    Console.Write("Ingrese posicion ["+(f+1)+","+(c+1)+"]: ");
                    string linea;
                    linea = Console.ReadLine();
                    mat[f, c] = int.Parse(linea);
                }
            }
        }
        public void Imprimir()
        {
            for (int f = 0; f < 3; f++)
            {
                for (int c = 0; c < 4; c++)
                {
                    Console.Write(mat[f, c] + " ");
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Matriz ma = new Matriz();
            ma.Ingresar();
            ma.Imprimir();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado


Ejemplo 2

Crear una matriz de 3 filas por 4 columnas e ingresar valores enteros, imprimir la primer fila. Imprimir la última fila e imprimir la primer columna

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
    class Matriz
    {
        private int[,] mat;
        public void Cargar()
        {
            mat = new int[3, 4];
            for (int f = 0; f < 3; f++)
            {
                for (int c = 0; c < 4; c++)
                {
                    Console.Write("Ingrese posicion ["+(f+1)+","+(c+1)+"]: ");
                    string linea;
                    linea = Console.ReadLine();
                    mat[f, c] = int.Parse(linea);
                }
            }
        }
        public void PrimerFila()
        {
            Console.WriteLine("\nPrimer fila de la matriz:");
            for (int c = 0; c< 4; c++)
            {
                Console.Write(mat[0, c]+"  ");
            }
        }
        public void UltimaFila()
        {
            Console.WriteLine("\nUltima fila de la matriz:");
            for (int c = 0; c< 4; c++)
            {
                Console.Write(mat[2, c]+"  ");
            }
        }
        public void PrimerColumna()
        {
            Console.WriteLine("\nPrimer columna:");
            for (int f = 0; f< 3; f++)
            {
                Console.Write(mat[f, 0]+"  ");
            }
        }
        static void Main(string[] args)
        {
            Matriz ma = new Matriz();
            ma.Cargar();
            ma.PrimerFila();
            ma.UltimaFila();
            ma.PrimerColumna();
            Console.ReadKey();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado

Matrices en C Sharp

Una matriz es una estructura de datos que permite almacenar un conjunto de datos del mismo tipo.
Con un único nombre se define la matriz y por medio de DOS sub índices hacemos referencia a cada elemento de la misma (componente)

Hemos graficado una matriz de 3 filas y 5 columnas. Para hacer referencia a cada elemento debemos indicar primero la fila y luego la columna, por ejemplo en la componente 1,4 se almacena el valor 97.
En este ejemplo almacenamos valores enteros. Todos los elementos de la matriz deben ser del mismo tipo (int, float, string etc.)
Las filas y columnas comienzan a numerarse a partir de cero, similar a los vectores.

Declaración  de una Matriz en C# 

C# admite matrices de una dimensión, matrices multidimensionales (matrices rectangulares) y matrices de matrices (matrices escalonadas). El siguiente ejemplo muestra cómo declarar diferentes tipos de matrices:

Matrices unidimensionales:
             int[] numbers;


Matrices multidimensionales:
             string[,] names;


Matrices de matrices (escalonadas):
             byte[][] scores;


La declaración de matrices (como se muestra arriba) no crea realmente las matrices. En C#, las matrices son objetos (se explica más adelante en este tutorial) cuyas instancias deben crearse. Los siguientes ejemplos muestran cómo crear matrices:


Matrices unidimensionales:
            int[] numbers = new int[5];


Matrices multidimensionales:
            string[,] names = new string[5,4];


Matrices de matrices (escalonadas):
            byte[][] scores = new byte[5][];
            for (int x = 0; x < scores.Length; x++) 
           {
                   scores[x] = new byte[4];
            }


También se pueden utilizar matrices más grandes. Por ejemplo, se puede utilizar una matriz rectangular de tres dimensiones:

            int[,,] buttons = new int[4,5,3];

Incluso, se pueden combinar matrices rectangulares y escalonadas. Por ejemplo, el siguiente código declara una matriz unidimensional que contiene matrices tridimensionales de matrices bidimensionales de tipo int:

             int[][,,][,] numbers;

Ejemplo de Vectores y Matrices en C#

Ejemplo de Vectores y Matrices en C#

Se desea saber la temperatura media trimestral de cuatro provincias. Para ello se tiene como dato las temperaturas medias mensuales de dichas provincias.
Se debe ingresar el nombre de la provincia y seguidamente las tres temperaturas medias mensuales.
Seleccionar las estructuras de datos adecuadas para el almacenamiento de los datos en memoria.
  1. Ingresar por teclado los nombres de las provincias y las temperaturas medias mensuales.
  2. Imprimir los nombres de las provincias y las temperaturas medias mensuales de las mismas.
  3. Calcular la temperatura media trimestral de cada provincia.
  4. Imprimir los nombres de las provincias y las temperaturas medias trimestrales.
  5. Imprimir el nombre de la provincia con la temperatura media trimestral mayor.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
    class Matriz
    {
        private string[] paises;
        private int[,] tempmen;
        private int[] temptri;
        public void Cargar()
        {
            paises = new String[4];
            tempmen = new int[4, 3];
            for (int f = 0; f< paises.Length; f++)
            {
                Console.Write("Ingrese el nombre de la provincia "+(f+1)+": ");
                paises[f] = Console.ReadLine();
                for (int c = 0; c < tempmen.GetLength(1); c++)
                {
                    Console.Write("Ingrese temperatura mensual " + (c + 1) + ": ");
                    string linea = Console.ReadLine();
                    tempmen[f, c] = int.Parse(linea);
                }
            }
        }
        public void ImprimirTempMensuales()
        {
            for (int f = 0; f< paises.Length; f++)
            {
                Console.Write("Provincia:" + paises[f] + ":");
                for (int c = 0; c < tempmen.GetLength(1); c++)
                {
                    Console.Write(tempmen[f, c] + " ");
                }
                Console.WriteLine();
            }
        }
        public void CalcularTemperaturaTri()
        {
            temptri = new int[4];
            for (int f = 0; f< tempmen.GetLength(0); f++)
            {
                int suma = 0;
                for (int c = 0; c < tempmen.GetLength(1); c++)
                {
                    suma = suma + tempmen[f, c];
                }
                temptri[f] = suma / 3;
            }
        }
        public void ImprimirTempTrimestrales()
        {
            Console.WriteLine("Temperaturas trimestrales.");
            for (int f = 0; f< paises.Length; f++)
            {
                Console.WriteLine(paises[f] + " " + temptri[f]);
            }
        }
        public void PaisMayorTemperaturaTri()
        {
            int may = temptri[0];
            string nom = paises[0];
            for (int f = 0; f< paises.Length; f++)
            {
                if (temptri[f] > may)
                {
                    may = temptri[f];
                    nom = paises[f];
                }
            }
            Console.WriteLine("Provincia con temperatura trimestral mayor es " + nom + " que tiene una temperatura de " + may);
        }
        static void Main(string[] args)
        {
            Matriz ma = new Matriz();
            ma.Cargar();
            ma.ImprimirTempMensuales();
            ma.CalcularTemperaturaTri();
            ma.ImprimirTempTrimestrales();
            ma.PaisMayorTemperaturaTri();
            Console.ReadKey();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado


Ejercicios De Vectores y Matrices en C#

Ejercicios De Vectores y Matrices en C#

Ejercicio 
Se tiene la siguiente información:
· Nombres de 4 operarios.
· Ingresos en concepto de sueldo, cobrado por cada operario, en los últimos 3 meses.
Realizar un programa para:
  1. Realizar el ingreso de la información mencionada. 
  2. Generar un vector que contenga el ingreso acumulado en sueldos en los últimos 3 meses para cada operario.
  3. Mostrar por pantalla el total pagado en sueldos a todos los operarios en los últimos 3 meses 
  4. Obtener el nombre del operario que tuvo el mayor ingreso acumulado
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matriz
{
    class Matriz
    {
        private string[] empleados;
        private int[,] sueldos;
        private int[] sueldostot;
        public void Cargar()
        {
            empleados = new String[4];
            sueldos = new int[4, 3];
            for (int f = 0; f< empleados.Length; f++)
            {
                Console.Write("Ingrese el nombre del operario "+(f+1)+": ");
                empleados[f] = Console.ReadLine();
                for (int c = 0; c < sueldos.GetLength(1); c++)
                {
                    Console.Write("Ingrese sueldo " + (c + 1) + ": ");
                    string linea;
                    linea = Console.ReadLine();
                    sueldos[f, c] = int.Parse(linea);
                }
            }
        }
        public void CalcularSumaSueldos()
        {
            sueldostot = new int[4];
            for (int f = 0; f< sueldos.GetLength(0); f++)
            {
                int suma = 0;
                for (int c = 0; c < sueldos.GetLength(1); c++)
                {
                    suma = suma + sueldos[f, c];
                }
                sueldostot[f] = suma;
            }
        }
        public void ImprimirTotalPagado()
        {
            Console.WriteLine("Total de sueldos pagados por Operario.");
            for (int f = 0; f< sueldostot.Length; f++)
            {
                Console.WriteLine(empleados[f] + " - " + sueldostot[f]);
            }
        }
        public void EmpleadoMayorSueldo()
        {
            int may = sueldostot[0];
            string nom = empleados[0];
            for (int f = 0; f< sueldostot.Length; f++)
            {
                if (sueldostot[f] > may)
                {
                    may = sueldostot[f];
                    nom = empleados[f];
                }
            }
            Console.WriteLine("El operario con mayor sueldo es " + nom + " que tiene un sueldo de " + may);
        }
        static void Main(string[] args)
        {
            Matriz ma = new Matriz();
            ma.Cargar();
            ma.CalcularSumaSueldos();
            ma.ImprimirTotalPagado();
            ma.EmpleadoMayorSueldo();
            Console.ReadKey();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado

Vectores y Matrices en C#

Vectores y Matrices en C# 

Un array (matriz o vector) es un conjunto finito y ordenado de elementos homogéneos. La propiedad “ordenado” significa que el elemento primero, segundo y tercero,…, enésimo de un array puede ser identificado. Los elementos del array son homogéneos, es decir, del mismo tipo de datos. Los array también se conocen como matrices-en matemáticas- y tablas- en cálculos financieros.

En otras palabras un arreglo es una especie de variable que contiene muchos valores pero cada uno con una posición diferente. Un arreglo puede ser unidimensional o vectorial, bidimensional o matricial, o multi-dimencional.

Vectores en C#

Qué es un vector? Un vector (o arreglo unidimensional) es una estructura de datos en la cual se almacena un conjunto de datos de un mismo tipo. Es decir que un arreglo es una lista de n elementos que posee las siguientes características:

  • Se identifica por un único nombre de variable
  • Sus elementos se almacenan en posiciones contiguas de memoria
  • Se accede a cada uno de sus elementos en forma aleatoria

Matrices en C#

Suma de Matrices en C#

Suma de Matrices en C#

Realizar un programa que permita la suma de dos matrices de 3x3 y el resultado almacenar en un tercer matriz 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private int[,] MatrizA;
        private int[,] MatrizB;
        private int[,] MatrizC;
        public void Cargar()
        {
            MatrizA = new int[10,10];
            MatrizB = new int[10, 10];
            MatrizC = new int[10, 10];
            Console.WriteLine("Ingresando datos al matriz A");
            for (int i = 1; i<= 3; i++)
            {
                for (int j = 1; j <= 3; j++)
                {
                    Console.Write("Ingrese posicion [" + i + "," + j + "]: ");
                    string linea;
                    linea = Console.ReadLine();
                    MatrizA[i, j] = int.Parse(linea);
                }
            }
            Console.WriteLine("Ingresando datos al matriz B");
            for (int i = 1; i <= 3; i++)
            {
                for (int j = 1; j <= 3; j++)
                {
                    Console.Write("Ingrese posicion [" + i + "," + j + "]: ");
                    string linea;
                    linea = Console.ReadLine();
                    MatrizB[i, j] = int.Parse(linea);
                }
            }
            //Sumamos la matrizA y la MatrizB
            for (int i = 1; i< = 3; i++)
            {
                for (int j = 1; j <= 3; j++)
                {
                    MatrizC[i,j]=MatrizA[i,j]+MatrizB[i,j];
                }
            }
        }
        // visualizamos la suma de las matrices
        public void visualizar()
        {
            Console.WriteLine("La suma de la MatrizA y MatrizB es :");
            for (int i = 1; i< = 3; i++)
            {
                Console.Write("\n");
                for (int j = 1; j <= 3; j++)
                {
                    Console.Write(MatrizC[i,j]+"  ");
                }
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.visualizar();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado