• Sábado 27 de Abril de 2024, 09:24

Mostrar Mensajes

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
C# / Ideas para Desarrollar un Sotware
« 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
C# / IMPRESION
« 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
C# / Re: listas enlazadas - ver error
« 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
C# / listas enlazadas - ver error
« 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 gracias


Código: C#
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace ConsoleApplication7
  5. {
  6.     public unsafe class Program
  7.     {          
  8.         public struct Nodo
  9.         {
  10.             public string Nombre;
  11.             public int Valor;
  12.             public Nodo* siguiente;
  13.         }
  14.         static void Main(string[] args)
  15.         {
  16.             int op;
  17.             Nodo* Lista;
  18.             Lista = null;
  19.             while (true)
  20.             {
  21.                 Console.Clear();
  22.                 Console.WriteLine("1.-Ingresar Datos");
  23.                 Console.WriteLine("2.-Eliminar Datos");
  24.                 Console.WriteLine("3.-Mostrar Datos");
  25.                 Console.WriteLine("4.-Salir");
  26.                 Console.Write("Ingresa Opcion:");
  27.                 op = int.Parse(Console.ReadLine());
  28.                 Console.Clear();
  29.                 if (op == 1)
  30.                 {
  31.                     Console.Write("Ingresa Edad:");
  32.                     int v = int.Parse(Console.ReadLine());
  33.                     Console.Write("Ingresa Nombre:");
  34.                     string nom = Console.ReadLine();
  35.                     Nodo* anterior;
  36.                     //Se crea un nodo llamado Q
  37.                     //y se le asigna espacio en memoria
  38.                     Nodo* nuevo = stackalloc Nodo[1];
  39.                     nuevo->Valor = v;
  40.                     nuevo->Nombre = nom;
  41.                     if (Lista == null)
  42.                     {
  43.                         nuevo->siguiente = Lista;
  44.                         Lista = nuevo;
  45.                     }
  46.                     else
  47.                     {
  48.                         anterior = Lista;
  49.                         while (anterior->siguiente != null)
  50.                         {
  51.                             anterior = anterior->siguiente;
  52.                         }
  53.                         nuevo->siguiente = anterior->siguiente;
  54.                         anterior->siguiente = nuevo;
  55.                     }
  56.                 }
  57.                 else if (op == 2)
  58.                 {
  59.                     Nodo* Q;
  60.                     Nodo* T=stackalloc Nodo[1];
  61.                     if (Lista == null)
  62.                         Console.WriteLine("Lista Vacia");
  63.                     else
  64.                     {
  65.                         if (Lista->siguiente == null)
  66.                             Lista = null;
  67.                         else
  68.                         {
  69.                             Q = Lista;
  70.                             while (Q->siguiente != null)
  71.                             {
  72.                                 T = Q;
  73.                                 Q = Q->siguiente;
  74.                             }
  75.                             T->siguiente = null;
  76.                             //free(Q);//Como hago esto en el C#
  77.                             //como libero memoria
  78.                         }
  79.                         Console.WriteLine("Dato Eliminado");
  80.                     }
  81.                 }
  82.                 else if (op == 3)
  83.                 {
  84.                     Nodo* nodo;
  85.                     if (Lista == null)
  86.                         Console.WriteLine("Lista Vacia");
  87.                     else
  88.                     {
  89.                         nodo = Lista;
  90.                         while (nodo != null)
  91.                         {
  92.                             Console.Write("{0},{1}->", nodo->Valor,nodo->Nombre);
  93.                             nodo = nodo->siguiente;
  94.                         }
  95.  
  96.                     }
  97.                 }
  98.                 else if (op == 4)
  99.                     System.Environment.Exit(0);
  100.                 string z = Console.ReadLine();
  101.             }
  102.         }
  103.     }
  104. }
  105.  
  106.  

5
C# / comodibujar un octagono con el mouse
« 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
VB .NET / como dibujar un octagono con el mouse
« 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
C# / Solucion Recursividad
« 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
C# / algunso ejercicios simples en C#
« 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]