Título: ejericicos en C#(basicos)
Publicado por: Choclito en 10 Febrero 2009, 22:20 pm
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; }
|