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

Constructores en C#

Constructores en C# 

Cada vez que se crea una clase o estructura, se llama a su constructor. Una clase o estructura puede tener varios constructores que toman argumentos diferentes. Los constructores permiten al programador establecer valores predeterminados, limitar la creación de instancias y escribir código flexible y fácil de leer.
En C# podemos definir un método que se ejecute inicialmente y en forma automática. Este método se lo llama constructor.
El constructor tiene las siguientes características:
  • Tiene el mismo nombre de la clase.
  • Es el primer método que se ejecuta.
  • Se ejecuta en forma automática.
  • No puede retornar datos.
  • Se ejecuta una única vez.
  • Un constructor tiene por objetivo inicializar atributos.

Sintaxis de un Constructor en C#

Modificador NombredelaClase (Parámetros)
{
   Instrucciones
}
Veamos un Ejemplo de un constructor en C#
using System;
namespace constructores
{
    class EjConstructor
    {
        int a;
        int b;
        //declaramos el constructor
        public EjConstructor(int x, int y)
        {
            a = x;
            b = y;
        }
        public int Suma()
        {
            return a + b;
        }
        public int resta()
        {
            return a - b;
        }
        class Principal
        {
            static void Main(string[] args)
            {
                //creamos objeto de la clase y le pasamos los parametros al constructor
                EjConstructor obj = new EjConstructor(10, 20);
                Console.WriteLine("La suma es: "+obj.Suma());
                Console.WriteLine("La resta es: "+obj.resta());
                Console.ReadKey();
            }
        }
    }
}
Al ejecutar el código muestra el siguiente resultado


El ejemplo es sencillo para que pueda comprenderse creamos una clase EjConstructor con 2 variables enteras, luego definimos el constructor con 2 parámetros observen que tiene el mismo nombre de la clase eso tiene que ser así obligatoriamente, también tenemos un método Suma y un método resta que lo único que hace es realizar una suma y la resta sucesivamente.Luego en la clase Principal al momento de crear el objeto de la clase le pasamos los parámetros de una sola vez al constructor, y después solo imprimimos el resultado de la suma y la resta del método Suma y resta.

Resta de Vectores en C#

Resta de Vectores en C#

Realizar un programa que Reste dos vectores y los almacene en un tercer vector 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private int[] A;//Declaramos un vector A
        private int[] B;//Declaramos un vector B
        private int[] C;//Declaramos un vector C
        public void Cargar()
        {
            Console.Write("Ingrese la longitud de los vectores a restar: ");
            string linea;
            linea = Console.ReadLine();
            int n = int.Parse(linea);
            A = new int[n];
            B = new int[n];
            C = new int[n];
            Console.WriteLine("Ingresando valores al vector A");
            for (int i = 0; i< A.Length; i++)
            {
                Console.Write("Ingrese componente [" + ( i + 1 ) +"]: ");
                linea = Console.ReadLine();
                A[i] = int.Parse(linea);
            }
            Console.WriteLine("Ingresando valores al vector B");
            for (int j = 0; j< B.Length; j++)
            {
                Console.Write("Ingrese componente [" + (j + 1) + "]: ");
                linea = Console.ReadLine();
                B[j] = int.Parse(linea);
            }
            for (int i = 0; i< A.Length; i++)
            {
                C[i]=A[i]-B[i];           
            }
        }
        public void Visualizar()
        {
            Console.WriteLine("La resta de los vecores es: ");
            for (int i = 0; i< A.Length; i++)
            {
                Console.Write("["+C[i]+"] ");
            }
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.Visualizar();
        }
    }
}

 Al ejecutar el código muestra el siguiente resultado

Ejercicios con Vectores en C#

Ejercicios con Vectores en C# 

Veamos algunos ejercicios con vectores en c#, que nos ayudaran a entender mejor el tema acerca de los vectores en c#.

Empezaremos con la búsqueda del mayor y menor elemento de un vector, lo mismo que su posición.

En la siguiente gráfica se muestra un ejemplo de como un vector almacena datos:


Ejemplo 1

Realizar un programa que permita ingresar los nombres de 5 operarios y sus sueldos respectivos. Mostrar el sueldo mayor y el nombre del operario.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private string[] nombres; //Declaramos un vector de tipo estring para los nombres
        private float[] sueldos; //Declaramos un vector de tipo float para los sueldos
        public void Cargar()
        {
            nombres = new string[5];
            sueldos = new float[5];
            for (int f = 0; f< nombres.Length; f++)
            {
                Console.Write("Ingrese el nombre del empleado "+(f+1)+": ");
                nombres[f] = Console.ReadLine();
                Console.Write("Ingrese el sueldo "+(f+1)+": ");
                string linea;
                linea = Console.ReadLine();
                sueldos[f] = float.Parse(linea);
            }
        }
        public void MayorSueldo()
        {
            float mayor;
            int pos;
            mayor = sueldos[0];
            pos = 0;
            for (int f = 1; f< nombres.Length; f++)
            {
                if (sueldos[f] > mayor)
                {
                    mayor = sueldos[f];
                    pos = f;
                }
            }
            Console.WriteLine("El empleado con sueldo mayor es :" + nombres[pos]);
            Console.WriteLine("Tiene un sueldo de: " + mayor);
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.MayorSueldo();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado


Ejemplo 2

Realizar un programa que ingrese un vector de n elementos e imprimir el menor y un mensaje si se repite dentro del vector dicho numero. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private int[] vec;//Declaramos un vector
        private int menor;
        public void Cargar()
        {
            Console.Write("Ingrese la longitud del vector:");
            string linea;
            linea = Console.ReadLine();
            int n = int.Parse(linea);
            vec = new int[n];
            for (int f = 0; f < vec.Length; f++)
            {
                Console.Write("Ingrese componente ["+(f+1)+"]: ");
                linea = Console.ReadLine();
                vec[f] = int.Parse(linea);
            }
        }
        public void MenorElemento()
        {
            menor = vec[0];
            for (int f = 1; f< vec.Length; f++)
            {
                if (vec[f] < menor)
                {
                    menor = vec[f];
                }
            }
            Console.WriteLine("El elemento menor es: " + menor);
        }
        public void RepiteMenor()
        {
            int cant = 0;
            for (int f = 0; f< vec.Length; f++)
            {
                if (vec[f] == menor)
                {
                    cant++;
                }
            }
            if (cant > 1)
            {
                Console.WriteLine("Se repite el numero.");
            }
            else
            {
                Console.WriteLine("No se repite el menor.");
            }
            Console.ReadLine();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.MenorElemento();
            pv.RepiteMenor();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado