ejericicos en C#(basicos)

Iniciado por Choclito, 10 Febrero 2009, 22:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Choclito

Aqui les dejo unos ejerciicos ojala les sea de gran ayuda  y si tienen mejor solucion a buena hora compartanlo


0.- lllenar un vector con numreos aleatorios

int[] Vector=new int[10];
int i=0;
Random numero=new Random();
for(i=0;i<10;i++)
{
  Vector[i]=numero.Nexto(1,100);
}
//mostramos los numeros almacenados en nuestro vector
int j=0;
foreach(int Elemt in Vector)
{
   Console.WriteLine("Dato dela Posicion del Vector[{0}]:{1}",j,Elemt); 
   j++;
}
Console.Read();


1.-ESCRIBIR UN PROGRAMA EN C# QUE REALICE UN JUEGO DE DADOS ENTRE 2 JUGADORES.

            int dado1, dado2, pos;
            int suma1, suma2, sumat1, sumat2, tirada;         
            string nombre;
            Random random = new Random();           
            suma1 = 0;
            suma2 = 0;
            sumat1 = 0;
            sumat2 = 0;
            tirada = 1;
            pos = 0;
            Console.Write("Introduzca su Nombre:");
            nombre = Console.ReadLine();
            Console.WriteLine("\n");
            Console.SetCursorPosition(25, 3);
            Console.WriteLine("{0}                       JUGADOR  2",nombre);
            Console.SetCursorPosition(25, 4);
            Console.WriteLine("---------                  -----------", nombre);
            Console.SetCursorPosition(10, 6);
            Console.WriteLine("TIRADA 1 ");
            Console.SetCursorPosition(10, 8);
            Console.WriteLine("TIRADA 2 ");
            Console.SetCursorPosition(10, 10);
            Console.WriteLine("TIRADA 3 ");
            do
            {               
                //Primer Jugador
                dado1 = random.Next(1, 7);
                dado2 = random.Next(1, 7);
                Console.SetCursorPosition(26, 6 + pos);
                Console.WriteLine(" {0} , {1} ",dado1,dado2);               
                suma1 = dado1 + dado2;
                sumat1 = sumat1 + suma1;
                //Segundo Jugador
                dado1 = random.Next(1, 7);
                dado2 = random.Next(1, 7);
                Console.SetCursorPosition(52, 6 + pos);
                Console.WriteLine(" {0} , {1} ", dado1, dado2);
                suma2 = dado1 + dado2;
                sumat2 = sumat2 + suma2;
                tirada++;
                pos = pos + 2;               
            } while (tirada <=3);
            if (sumat1 > sumat2)
            {
                Console.SetCursorPosition(25,15);
                Console.WriteLine("Ha Ganado {0} . ENHORABUENA",nombre);
            }
            else if (sumat1 < sumat2)
            {
                Console.SetCursorPosition(25, 15);
                System.Console.WriteLine("Ha ganado el Jugador 2, Usted Pierde");
            }
            else
            {
                Console.SetCursorPosition(25, 15);
                System.Console.WriteLine("Han Empatado");
            }
            Console.SetCursorPosition(10, 20);
            Console.WriteLine("La Suma del Jugador 1 es :"+sumat1);
            Console.SetCursorPosition(10, 22);
            Console.WriteLine("La Suma del Jugador 2 es :"+sumat2);
            Console.Read();


2.-CALCULAR EL MAXIMO COMUN DIVISOR DE N NUMEROS

           //declarmaos nuestras variables
            int N, n1, n2, n, c = 2, resto, resto1=0,choclo;
            string Cadena = string.Empty;
            do
            {
                Console.Clear();
                Console.Write("Ingrese Cantidad de Datos:");
                N = int.Parse(Console.ReadLine());
            } while (N < 2);
            Console.Write("Ingresa Numero 1:");
            n1 = int.Parse(Console.ReadLine());
            Console.Write("Ingresa Numero 2:");
            n2 = int.Parse(Console.ReadLine());
            resto = CalcularMaximo(n1, n2);
            if (N >= 3)
            {
                while (c != N)
                {
                    c++;
                    Console.Write("Ingresa Numero {0}:", c);
                    n = int.Parse(Console.ReadLine());
                    resto1 = CalcularMaximo(resto, n);
                    resto = resto1;
                }               

                Console.WriteLine("El Maximo Común Divisor es :" + resto1);

            }
            else
                Console.WriteLine("El Maximo Común Divisor es :"+resto);
            Console.Read();
        }
        static int CalcularMaximo(int a,int b)
        {
            int resto, mcd;
            resto = a % b;
            while (resto != 0)
            {
                a = b;
                b = resto;
                resto = a % b;
            }
            mcd = b;
            return mcd;
        }



3.-CALCULAR LOS N PRIMEROS NUMEROS PRIMOS GEMELOS

  static void Main(string[] args)
        {
            int n;
            int p, q, encontrados;
            //tomamos la variable "p" y haremos que tome los valores
            //sucesivos:1,2,3,4,5,6...,empezando por 1.
            p = 1;
            encontrados = 0;
            Console.WriteLine("Ingrese N:");
            n = int.Parse(Console.ReadLine());
            while (encontrados < n)
            {
                q = p + 2;
                if (es_primo(p)!=1 && es_primo(q)!=1)
                {
                    Console.WriteLine("({0},{1})",p,q);
                    encontrados++;
                }
                p++;
            }
            Console.Read();
        }
        static int es_primo(int n)
        {
            int primo;//almacena 0 si el numero es primo, 1 en caso contrario
            int i;//almacena los numeros de 2 a "n"
            primo = 0;
            for (i = 2; i <n ; i++)
            {
                if (n % i== 0)
                {
                    primo = 1;
                   
                }               
            }
            return primo;//retornamos o devolvemos el resultado
        }



4.-ESCRIBIR UN PROGRAMA MODULAR PARA CALCULAR COEFICIENTES BINOMIALES.

public static void Main(string[] args)
        {         
            int n, k;
            double CoefBino;
            //ingresando los numeros
            Console.WriteLine("ingrese el primer numero:");
            n = int.Parse(Console.ReadLine());
            Console.WriteLine("ingrese el segundo numero:");
            k = int.Parse(Console.ReadLine());
            // coeficiente binomial
            CoefBino = Factor(n) / (Factor(k) * Factor(n - k));
            Console.WriteLine("el coeficiente binomial es:{0}", CoefBino);
            Console.ReadLine();
        }
        static int Factor(int Fact)
        {
            int Facto, i = 1;
            Facto = 1;

            for (i = 1; i <= Fact; i++)
            {
                Facto = Facto * i;
            }
            return Facto;
        }



5.-ESCRIBIR UN PROGRAMA MODULAR PARA CALCULAR EL ORDINAL DE UNA FECHA DADA.

static int bisiesto(int año)
        {
            if ((año % 4 == 0) && (año % 100 != 0) || (año % 400 == 0))
                return 1;
            else
                return 0;
        }
        static int diasdemes(int mes, int a)
        {
            int Nrodias=0;
            switch (mes)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12: Nrodias=31; break;
                case 2: if (bisiesto(a)==1)
                        Nrodias=29;
                    else
                        Nrodias=28;
                    break;
                case 4:
                case 6:
                case 9:
                case 11: Nrodias=30; break;             
               
            }
            return Nrodias;
        }
        static int fechacorrecta(int d,int m, int a)
        {
            int pepe=0;
            if (a > 0 && m >= 1 && m <= 12)
            {
                if (d >= 1 && d <= diasdemes(m, a))
                    pepe=1;
                else
                    pepe=2;
            }
            return pepe;
        }
        static int diadanio(int d, int m, int a)
        {
            int dias;
            int cm;
            dias = 0;
            for (cm = 1; cm <= m - 1; cm++)
                dias += diasdemes(cm, a);
            dias += d;
            return dias;
        }
        static void Mostras_ordinal(int n)
        {
            int u, d, c;
            u = n % 10;
            n = n / 10;
            d = n % 10;
            c = n / 10;
            switch (c)
            {
                case 3: Console.Write("tricentésimo "); break;
                case 2: Console.Write("bicentésimo "); break;
                case 1: Console.Write("centésimo "); break;

            }
           
            switch (d)
            {
                case 9: Console.Write("nonagésimo "); break;
                case 8: Console.Write("octagésimo "); break;
                case 7: Console.Write("septuagésimo "); break;
                case 6: Console.Write("sexagésimo "); break;
                case 5: Console.Write("quicuagésimo "); break;
                case 4: Console.Write("cuadragésimo "); break;
                case 3: Console.Write("trigésimo "); break;
                case 2: Console.Write("vigésimo "); break;
                case 1: Console.Write("décimo "); break;
            }
            switch (u)
            {
                case 9: Console.Write("noveno"); break;
                case 8: Console.Write("octavo "); break;
                case 7: Console.Write("septimo"); break;
                case 6: Console.Write("sexto "); break;
                case 5: Console.Write("quinto "); break;
                case 4: Console.Write("cuarto "); break;
                case 3: Console.Write("terer "); break;
                case 2: Console.Write("segundo "); break;
                case 1: Console.Write("primer "); break;
            }
            Console.WriteLine("día del año \n\n");
        }
        static void Main(string[] args)
        {
            //calculo del dia del año que hace una determinada fecha
            int dia, mes, año;
            Console.WriteLine("Ingresa dia:");
            dia = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingresa mes:");
            mes = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingresa año:");
            año= int.Parse(Console.ReadLine());
            if (fechacorrecta(dia, mes, año)==1)
                Mostras_ordinal(diadanio(dia, mes, año));
            else
                Console.WriteLine("Fecha Incorrecta\n\n");
            Console.Read();
        }



6.-CONVERSION DE BASE 10 A UNA BASE X

static void Main(string[] args)
        {
            int numero;
            int basex;
            string cadena;
            Console.Write("Ingresa Numero:");
            numero = int.Parse(Console.ReadLine());
            Console.Write("Ingrese Base X:");
            basex = int.Parse(Console.ReadLine());
            cadena = CambioBase(numero, basex);           
            Console.WriteLine("\n El número {0} en Base {1} es: {2}", numero,basex,cadena);         
            Console.Read();


        }
        static String CambioBase(int numero, int Base)
        {
            int numero2;
            int digito;
            string Cadena = string.Empty;
            string Ncadena = string.Empty;
            numero2 = numero;
            while (numero2 > 0)
            {
                digito = numero2 % Base;
                if (digito >= 10)
                {
                    switch (digito)
                    {
                        case 10: Cadena = Cadena + Convert.ToString("A");
                            break;
                        case 11: Cadena = Cadena + Convert.ToString("B");
                            break;
                        case 12: Cadena = Cadena + Convert.ToString("C");
                            break;
                        case 13: Cadena = Cadena + Convert.ToString("D");
                            break;
                        case 14: Cadena = Cadena + Convert.ToString("E");
                            break;
                        case 15: Cadena = Cadena + Convert.ToString("F");
                            break;
                    }
                }
                else
                {
                    Cadena = Cadena + Convert.ToString(numero2 % Base);
                }
                numero2 = numero2 / Base;
            }
            Cadena.ToCharArray();
            for (int i = Cadena.Length - 1; i >= 0; i--)
            {
                Ncadena += Cadena[i];
            }
            return Ncadena;
        }


7.-HACER UN PROGRAMA PARA CALCULAR LA SUMA DE LA SERIE FIBONACCI

static void Main(string[] args)
        {   
            //calcular la suma de la serie s=1+1+2+3+5+8+...
            int n, y;
            Console.WriteLine("Ingresa n:");
            n = int.Parse(Console.ReadLine());
            y = Suma(n);
            Console.WriteLine("La Suma de los {0} primeros numeros es :{1}",n,y);
            Console.ReadKey();
        }
        static int Suma(int cantidad)
        {
            int f1, f2, f3=0, i;
            if (cantidad == 1)
                f3 = 1;
            else if (cantidad == 2)
                f3 = 2;
            else
            {
                f1 = 1;
                f2 = 2;
                i = 2;
                while (i < cantidad)
                {
                    f3 = f1 + f2;
                    f1 = f2;
                    f2 = f3;
                    i++;
                }
            }
            return f3;
        }



8.-HACER UN PROGRAMA MODULAR QUE MUESTRE LA TABLA DE SUMAR Y MULTIPLICAR DE UN NUMERO DADO.

static void Main(string[] args)
        {
            int opcion;
            Menu();
            opcion = int.Parse(Console.ReadLine());
            switch (opcion)
            {
                case 1: TablaSumar();
                    break;
                case 2: TablaMultiplicar();
                    break;
                case 3: System.Environment.Exit(0);
                    break;
            }
        }
        static void Menu()
        {
            Console.WriteLine("1.-Tabla de Sumar");
            Console.WriteLine("2.-Tabla de Multiplicar");
            Console.WriteLine("3.-Salir");
        }
        static void TablaSumar()
        {
            int numero;
            Console.Clear();
            numero = IngresarNumero();
            for (int k = 1; k <= 12; k++)
                Console.WriteLine("{0} + {1} = {2}",numero,k,numero+k);
            Console.Read();
        }
        static void TablaMultiplicar()
        {
            int numero;
            Console.Clear();
            numero = IngresarNumero();
            for (int k = 1; k <= 12; k++)
                Console.WriteLine("{0} x {1} = {2}", numero, k, numero * k);
            Console.Read();
        }
        static int  IngresarNumero()
        {
            int numero1;
            Console.WriteLine("Ingrese Número:");
            numero1 = int.Parse(Console.ReadLine());
            return numero1;
        }



9.-CALCULAR LA INTEGRAL POR METODOS DE LOS TRAPECIOS

public static double metodoTrapecio(double a, double b, int n)
        {
            int i;
            double suma;
            double h;

            h = b - a / n;
            suma = (funcion(a) + funcion(b)) / 2;
            for (i = 1; i < n; i++)
                suma = suma + funcion(a + i * h);
            return (suma * h);
        }
        public static double funcion(double x)
        {
            return (x * x * x + 2 * x * x - x + 3);
        }
        static void Main(string[] args)
        {
            double a;
            double b;
            int n;
            double integral;

            Console.WriteLine("ingrese el valor de a");
            a = double.Parse(Console.ReadLine());
            Console.WriteLine("ingrese el valor de b");
            b = double.Parse(Console.ReadLine());
            Console.WriteLine("ingrese el valor de n");
            n = int.Parse(Console.ReadLine());

            integral = metodoTrapecio(a, b, n);

            Console.WriteLine("la integral numerica es:{0}", integral);
            Console.ReadLine();

        }



10.-HACER UN PROGRAMA QUE CONVIERTA DE BASE X A BASE Y

int basex, basey;
            int dedo = 0;
            string numero2;
            string numero;
            int c = 0;
            int d;
            double suma = 0;
            string Cadena = string.Empty;
            string CANTIDAD;
            Console.Write("Ingresa Número:");
            numero = Console.ReadLine();
            Console.Write("Ingrese Base x:");
            basex = int.Parse(Console.ReadLine());
            Console.Write("Ingrese Base y:");
            basey = int.Parse(Console.ReadLine());
            CANTIDAD = numero;
            CANTIDAD.ToCharArray();
            for (int i = CANTIDAD.Length - 1; i >= 0; i--)
            {
                dedo++;
            }
            d = dedo - 1;
            do
            {
                numero2 = numero.Substring(c, 1);
                if (numero2 == "A" || numero2 == "B" || numero2 == "C" || numero2 == "D" || numero2 == "E" || numero2 == "F")
                {
                    switch (numero2)
                    {
                        case "A": suma += 10 * Math.Pow(basex, d);
                            break;
                        case "B": suma += 11 * Math.Pow(basex, d);
                            break;
                        case "C": suma += 12 * Math.Pow(basex, d);
                            break;
                        case "D": suma += 13 * Math.Pow(basex, d);
                            break;
                        case "E": suma += 14 * Math.Pow(basex, d);
                            break;
                        case "F": suma += 15 * Math.Pow(basex, d);
                            break;
                    }
                }
                else
                {
                    int numero3;
                    numero3 = Convert.ToInt16(numero2);
                    suma = suma + numero3 * Math.Pow(basex, d);
                }
                c++;
                d--;
            } while (c < dedo);

            Console.WriteLine();
            Console.WriteLine("En Base 10 es :" + suma);

            //convertir a base x
            int suma2,digito;
            suma2 = (int)suma;
            while (suma2 > 0)
            {
                digito = suma2 % basey;
                if (digito >= 10)
                {
                    switch (digito)
                    {
                        case 10: Cadena = Cadena + Convert.ToString("A");
                            break;
                        case 11: Cadena = Cadena + Convert.ToString("B");
                            break;
                        case 12: Cadena = Cadena + Convert.ToString("C");
                            break;
                        case 13: Cadena = Cadena + Convert.ToString("D");
                            break;
                        case 14: Cadena = Cadena + Convert.ToString("E");
                            break;
                        case 15: Cadena = Cadena + Convert.ToString("F");
                            break;
                    }
                }
                else
                {
                    Cadena = Cadena + Convert.ToString(suma2 % basey);
                }
                suma2 = suma2 / basey;
            }
            Cadena.ToCharArray();
            for (int i = Cadena.Length - 1; i >= 0; i--)
            {
                Console.Write(Cadena[i]);
            }
            Console.Read();
        }



11.- DADO UN NUMERO ENTERO QUE CONVIERTA AH NUMEROS ROMANOS

int Miles, Resto, Cen, Dec, Uni,N;
            Console.Write("Ingrese un Numero:");
            N=int.Parse(Console.ReadLine());
            Miles = N / 1000;
            Resto = N % 1000;
            Cen = Resto / 100;
            Resto = Resto % 100;
            Dec = Resto / 10;
            Resto = Resto % 10;
            Uni = Resto;
            Console.Write("En Número Romanos es : ");
            switch (Miles)
            {
                case 1: Console.Write("M"); break;
                case 2: Console.Write("MM"); break;
                case 3: Console.Write("MMM"); break;
            }
            switch (Cen)
            {
                case 1: Console.Write("C"); break;
                case 2: Console.Write("CC"); break;
                case 3: Console.Write("CCC"); break;
                case 4: Console.Write("CD"); break;
                case 5: Console.Write("D"); break;
                case 6: Console.Write("DC"); break;
                case 7: Console.Write("DCC"); break;
                case 8: Console.Write("DCCC"); break;
                case 9: Console.Write("CM"); break;
            }
            switch (Dec)
            {
                case 1: Console.Write("X");
                    break;
                case 2: Console.Write("XX");
                    break;
                case 3: Console.Write("XXX");
                    break;
                case 4: Console.Write("XL");
                    break;
                case 5: Console.Write("L");
                    break;
                case 6: Console.Write("LX");
                    break;
                case 7: Console.Write("LXX");
                    break;
                case 8: Console.Write("LXXX");
                    break;
                case 9: Console.Write("XC");
                    break;
            }
            switch (Uni)
            {
                case 1: Console.Write("I"); break;
                case 2: Console.Write("II"); break;
                case 3: Console.Write("III"); break;
                case 4: Console.Write("IV"); break;
                case 5: Console.Write("V"); break;
                case 6: Console.Write("VI"); break;
                case 7: Console.Write("VII"); break;
                case 8: Console.Write("VIII"); break;
                case 9: Console.Write("IX"); break;
            }