|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - infielofcielo
Páginas: [1]
1
« en: Martes 23 de Febrero de 2010, 17:00 »
Hola Amigos quiero tratar de Desarrolar un Programa que Dada una Expresion Regular me Dibuje su Automata Finito no Deterministico ya y No tengo Idea como Desarrollarlo. (ER es Hasta Segundo Nivel) - y como hago tbm para calcular la cadena mas corta y la cantidad de estados de aceptacion que tiene
Pero cualquier Idea me Seria de Agrado Chevre.
2
« en: Sábado 7 de Noviembre de 2009, 15:22 »
hola ah todos saben tengo aca un duda quiero ingresar el ancho y el alto de la impresion de la pagina mediante 2 TEXTBOX aca esta mi codgo solo quiero aumentar como hago para darle ancho y alto ah la impresion.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace WindowsApplication1 { public partial class Form1 : Form { public OpenFileDialog ofdImagen = new OpenFileDialog(); public Form1() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { ofdImagen.Filter = "Ficheros BMP|*.bmp" + "|Ficheros documento |*.doc" + "|Ficheros JPG|*.jpg" + "|Ficheros PNG |*.png" + "|Ficheros EXIF|*.exif" + "|Ficheros TIFF|*.tiff" + "|Abrir Todos los Archivos|*.*"; pictureBox1.ImageLocation = (ofdImagen.ShowDialog() == DialogResult.OK) ? ofdImagen.FileName : null; } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { e.Graphics.DrawString("MI VISTA PREVIA", new Font(txttexto.Font.FontFamily, txttexto.SelectionFont.Size), Brushes.Black, 250, 50); e.Graphics.DrawString(txttexto.Text, new Font(txttexto.Font.FontFamily, txttexto.SelectionFont.Size), Brushes.Black, 0, 100); e.Graphics.DrawImage(pictureBox1.Image, 400, 100, 435, 435); }
private void button1_Click(object sender, EventArgs e) { printDocument1.PrinterSettings = printDialog1.PrinterSettings; printPreviewDialog1.Document = printDocument1; printPreviewDialog1.ShowDialog(); } } }
3
« en: Martes 25 de Agosto de 2009, 20:31 »
la solcuion ah la pregunta 2
RECOLECCION DE BASURA
como los objetos se asignan dinamicamente , cuando estos objetos se destruyen sera necesrio verficar que la memoria ocupada por ellos ha queado liberada para usos posteriores. El procedimiento de liberacion es distinto segun el tipo de lenguaje Utilizado.
En C++ los objetos asignados dinamicamente se deben liberar utilizando un operador free o delete. Por el contrario Java y C# tienen un enfoque diferente. Manejan la liberacion de memoria de modo automatico la tecnica que utilizan se dedomina recoleccion de basura (garbage collection). Su funcionamiento es el sigueinte cuando no existe ninguna refrencia a un objeto, se supone que ese objego ya no se necesita, y la memoria ocupada por ese objeto puede ser recuperada(liberada). NO hay necesidad de destrir objetos explicitamente como hace C++.La recoleccion de basura solo ocurre esporadicamente dureçante la ejecucion de su programa. No sucede simplemente porque los objetos dejen de ser utilizados.
4
« en: Lunes 24 de Agosto de 2009, 22:47 »
1.- hola quiero que me ayuden porque me vota mi error .porque cuando quiero trabajar con tipo string me vota un error ERROR:no se puede adquirir la direccion,obtener el tamaño ni declarar un puntero a un tipo administrado. pero cuando trabajo con double , int normal trabaja quisiera que me ayuden ah analizar.
2.- es necesario liberar memoria aqui en el C# como en el c++ free(nodo) una checadita mi codigo graciasusing System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication7 { public unsafe class Program { public struct Nodo { public string Nombre; public int Valor; public Nodo* siguiente; } static void Main(string[] args) { int op; Nodo* Lista; Lista = null; while (true) { Console.Clear(); Console.WriteLine("1.-Ingresar Datos"); Console.WriteLine("2.-Eliminar Datos"); Console.WriteLine("3.-Mostrar Datos"); Console.WriteLine("4.-Salir"); Console.Write("Ingresa Opcion:"); op = int.Parse(Console.ReadLine()); Console.Clear(); if (op == 1) { Console.Write("Ingresa Edad:"); int v = int.Parse(Console.ReadLine()); Console.Write("Ingresa Nombre:"); string nom = Console.ReadLine(); Nodo* anterior; //Se crea un nodo llamado Q //y se le asigna espacio en memoria Nodo* nuevo = stackalloc Nodo[1]; nuevo->Valor = v; nuevo->Nombre = nom; if (Lista == null) { nuevo->siguiente = Lista; Lista = nuevo; } else { anterior = Lista; while (anterior->siguiente != null) { anterior = anterior->siguiente; } nuevo->siguiente = anterior->siguiente; anterior->siguiente = nuevo; } } else if (op == 2) { Nodo* Q; Nodo* T=stackalloc Nodo[1]; if (Lista == null) Console.WriteLine("Lista Vacia"); else { if (Lista->siguiente == null) Lista = null; else { Q = Lista; while (Q->siguiente != null) { T = Q; Q = Q->siguiente; } T->siguiente = null; //free(Q);//Como hago esto en el C# //como libero memoria } Console.WriteLine("Dato Eliminado"); } } else if (op == 3) { Nodo* nodo; if (Lista == null) Console.WriteLine("Lista Vacia"); else { nodo = Lista; while (nodo != null) { Console.Write("{0},{1}->", nodo->Valor,nodo->Nombre); nodo = nodo->siguiente; } } } else if (op == 4) System.Environment.Exit(0); string z = Console.ReadLine(); } } } }
5
« en: Sábado 1 de Agosto de 2009, 03:44 »
hola no se si alguien tiene el codigo de como dibujar un octagono con el mouse ah la justas llego ah pentagono
6
« en: Sábado 1 de Agosto de 2009, 03:44 »
hola no se si alguien tiene el codigo de como dibujar un octagono con el mouse ah la justas llego ah pentagono
7
« en: Martes 12 de Mayo de 2009, 04:52 »
1^2+2^2+3^2+4^2 … n^2
Yo lo hize de la siguiente manera.
static void Main(string[] args) { int numero; Console.Write("Ingresa Número:"); numero = int.Parse(Console.ReadLine()); Console.WriteLine("La Suma de la Expresion es:" + Evaluar(numero)); Console.ReadLine(); } static int Evaluar(int N) { if (N == 1) return 1; else return (N * N) + Evaluar(N - 1); }
Yo quiero que me ayuden como hacerlo de la siguiente forma Calcular la sumatoria de la siguiente serie.
1^1+2^2+3^3+4^4 … n^n
8
« en: Jueves 5 de Marzo de 2009, 01:25 »
Hola bueno aqui les dejo un poquiito de ejercicios de C# de modo consola ojala que les guste y que le sea de su agrado y si tienen mejor solucion compartanlo porfavor.
0.-llenar un vector con numreos aleatorios
int[] Vector=new int[10]; int i=0; Random numero=new Random(); for(i=0;i<10;i++) { Vector=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 nn"); } 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 Incorrectann"); 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; } 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); } 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; }
Páginas: [1]
|
|
|