elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27
121  Programación / Programación C/C++ / Duda: ¿Alguna libreria de C para multihilo? en: 26 Julio 2014, 05:06 am
Hola que tal, como dice el titulo queria saber si existe alguna libreria que trabajara multihilo en C, solo he encontrado la de <thread> pero es C++, gracias.
122  Programación / Ejercicios / Compartiendo un ejercicio de selección aleatoria (C#) en: 7 Junio 2014, 22:24 pm
Hola, como decidi empezar a practicar C# .NET , de lo poco que he podido aprender aqui dejo un ejercicio resuelto de seleccion aleatoria por si a alguien le interesa:

Código
  1. using System;
  2.  
  3. namespace Prueba1
  4. {
  5.    /*
  6.         Un asesino, cansado de elegir sus victimas de la manera habitual, decide hacer la seleccion de una manera mas especial
  7.         para esto decide seleccionarlas aelatoriamente. Cree un programa que le permita agrupar a sus posibles victimas y asignarles
  8.         un numero y que sea el programa quien decida a quien debe asesinar al momento de que le apetesca para esto debe tener en
  9.         consideracion la siguiente condicion:
  10.             *Una vez seleccionado una victima , el sistema debera omitir esta persona en la proxima busqueda,de manera que nunca salga
  11.             la misma posicion dos veces.
  12.      */
  13.    class Program
  14.    {
  15.        static void Main(string[] args)
  16.        {
  17.            Console.WriteLine("--------------Asesino Serial--------------");
  18.            Console.Write("Ingrese cuantas personas se asesinaran: ");
  19.            int victimas = int.Parse(Console.ReadLine());
  20.  
  21.            Asesino asesino = new Asesino(victimas);
  22.  
  23.            while (asesino.cantVictimasAsesinada != victimas)
  24.            {
  25.                Console.WriteLine("Persona asesinada: {0}", asesino.asesinar());
  26.            }
  27.  
  28.            Console.ReadLine();
  29.        }
  30.    }
  31.  
  32.    class Asesino
  33.    {
  34.  
  35.        private int[] victimas;
  36.  
  37.        // Indica el numero de la victima cayo aleatoriamente
  38.        private int victima;
  39.  
  40.        // LLevamos la cuenta de cuantas victimas han sido asesinadas
  41.        private int victimasAsesinadas;
  42.        public int cantVictimasAsesinada { get { return victimasAsesinadas; } }
  43.  
  44.        // Nuestro objeto que trabajara con variables aleatorias
  45.        Random random;
  46.        public Asesino(){ }
  47.        public Asesino(int victimas)
  48.        {
  49.  
  50.            victimasAsesinadas = 0;
  51.            this.victimas = new int[victimas];
  52.            for (int i = 0; i < this.victimas.Length; i++)
  53.            {
  54.                this.victimas[i] = i + 1;
  55.            }
  56.  
  57.            random = new Random();
  58.        }
  59.  
  60.        public int asesinar()
  61.        {
  62.            do
  63.            {
  64.                victima = random.Next(0, victimas.Length);
  65.            } while (victimas[victima] == 0);
  66.  
  67.            // Establecemos la posicion de la casilla en 0 para indicar que la victima ya fue seleccionada
  68.            victimas[victima] = 0;
  69.  
  70.            // Aumentamos el numero de victimas asesinadas
  71.            victimasAsesinadas++;
  72.  
  73.            return victima + 1;
  74.        }
  75.    }
  76. }
  77.  
123  Programación / Programación C/C++ / Re: Pasar numeros enteros arábigos a romanos, por donde empezar. en: 17 Mayo 2014, 01:22 am
Amigo el error esta en que el codigo que te sugeri esta pensado para estar en una funcion, y "digito_romano" practicamente seria un arreglo donde se almacena cada digito que despues se pasaria a un arreglo que es donde estarian todos los numeros transformados, es decir, ejemplo:

Código
  1. void funcion( char romano[] )
  2. {
  3.    char digito_romano[4] = { 'I', 'I', 'I', '\0' };
  4.    strcat(romano, digito_romano);
  5. }
  6.  

Porque como podras ver, cada vez que se ejecutaba el switch, todos los datos se volvian a escribir desde el principio en "digito_romano".

Ahora por la forma en que lo tienes, puedes usar una variable contadora que te lleve la posicion actual de cada casilla de tu arreglo digito_romano, asi donde iria digito_romano[ i ] o digito_romano[0], seria algo del tipo digito_romano[pos_digito++]. Y probablemente algunas instrucciones que estan alli quizas ya no sean necesarias.

Como te dije anteriormente en una nota, el resultado de los numeros romanos te va a salir de atras para adelante, eso lo acomodaras. Otra cosa inicializa tu arreglo "digito_romano" por eso es que arroja esos valores basuras y tu for(j) va hasta <= 2 no <= 3.



Saludo.
124  Programación / Programación C/C++ / Re: Pasar numeros enteros arábigos a romanos, por donde empezar. en: 13 Mayo 2014, 23:35 pm
Tienes un contador inicializado en 0, y se introduce ejemplo el 376, entonces extraes el 6 en una variable y lo evaluas en el switch, la variable donde dice "cant_decimal" es donde va tu contador, en ese primer caso seria 0, y es correcto porque 6 pertenece a las unidades, y lo guardas en un vector de caracteres, luego haces lo mismo con el 7, en ese caso aumenta tu contador, y evaluas a 7 en la segunda fila que son las decenas otra vez con el switch y lo vas almacenando tambien en el vector de caracteres, y asi sucesivamente.

NOTA: Debes estar pendiente cuando guardes en el vector porque los numeros se almacenaran de atras para adelante.

376 = CCCLXXVI, si lo guardas a lo loco en el vector te saldra VILXXCCC.

No se si me he explicado bien.
125  Programación / Programación C/C++ / Re: Pasar numeros enteros arábigos a romanos, por donde empezar. en: 13 Mayo 2014, 22:25 pm
Amigo asi mismo como tu dices, tienes 376 va a formar parte de la centena para lo cual le tocaria la fila[2], luego el 7 por ser decena le toca la fila[1] y el 6 le toca la fila[0] por ser unidad, solo necesitas un contador que te lleve la cuenta con cual fila vas a trabajar dependiendo del digito. Extraes el 3 lo evaluas y tienes CCC, ahora te deberia quedar 76, extraes el 7 y te da LXX, te queda ya solamentre el 6 por evaluar que le corresponderia VI.
126  Programación / Programación C/C++ / Re: Pasar numeros enteros arábigos a romanos, por donde empezar. en: 13 Mayo 2014, 01:59 am
Empiezas a extraer cada digito del numero ingresado, y lo asocias a cual fila pertenece:

2014: 4 por ser unidad lo evaluas en la primera fila, 1 por ser decena lo evaluas en la segunda fila , etc. Todo eso en caso que lo hagas con la matriz que te mostre.

Luego con un switch haces el procedimiento de evaluacion.

Código
  1. switch( numero )
  2.    {
  3.        case 1:
  4.        case 2:
  5.        case 3:
  6.            for( i = 0; i < numero; i++ )
  7.                digito_romano[i] = letras[cant_decimal][0];
  8.        break;
  9.        case 4:
  10.            for( i = 0; i < 2; i++ )
  11.                digito_romano[i] = letras[cant_decimal][i];
  12.        break;
  13.        case 5:
  14.            digito_romano[0] = letras[cant_decimal][1];
  15.            i++;
  16.        break;
  17.        case 6:
  18.        case 7:
  19.        case 8:
  20.            digito_romano[0] = letras[cant_decimal][1];
  21.            for( i = 1; i <= numero - 5; i++ )
  22.                digito_romano[i] = letras[cant_decimal][0];
  23.        break;
  24.        case 9:
  25.            digito_romano[0] = letras[cant_decimal][0];
  26.            digito_romano[1] = letras[cant_decimal][2];
  27.            i = 2;
  28.        break;
  29.    }
  30.    digito_romano[i] = '\0';
  31.  

A cada digito le harias ese proceso, fijate que la variable "cant_decimal", te indica si el digito es unidad, decena, centena, una vez guardado en "digito_romano", lo concatenas con el "digito_romano" equivalente de los demas digitos, y ya esta.

127  Programación / Programación C/C++ / Re: Pasar numeros enteros arábigos a romanos, por donde empezar. en: 11 Mayo 2014, 20:23 pm
Fijate que las unidades, las decenas, centenas, etc, en los numeros romanos siguen un mismo patron

*De 1 a 3 se repite esa cantidad de veces el simbolo = I, II, III; X, XX, XXX, etc

*Al 4 se le resta la unidad al numero del medio = IV; XL; CD

*Luego el numero del medio = V, L, D

*Despues del 6 al 8 va el numero central mas las unidades correspondientes = VI, VII, VIII; LX, LXX, LXXX

* Al penultimo numero se le resta la unidad al siguiente aumento de digito = IX, XC, CM

* Por ultimo, el numero de digito adicional = X, C, M

Puedes crear una matriz que en cada fila almacene los caracteres dependiendo de la cantidad de digitos y puedes resolver.

Código
  1. char letras[4][3] = { 'I', 'V', 'X',
  2.                      'X', 'L', 'C',
  3.                      'C', 'D', 'M',
  4.                      'M'};
  5.  
128  Foros Generales / Foro Libre / Re: Explicar una trayectoria desde la ignorancia en: 29 Abril 2014, 04:53 am
Tienes razon, aunque imagino que para llegar a esas conclusiones debio hacer calculos matematicos con las sombras, por el triangulo recto que formaban estas.
129  Foros Generales / Foro Libre / Re: Explicar una trayectoria desde la ignorancia en: 27 Abril 2014, 22:27 pm
desde la ignorancia incluso podemos afirmar que una línea recta se cruzará siempre con su punto de partida si es suficientemente larga.

Seria complicado visualizar eso, entonces lo mas probable seria imaginarse que la recta atraviesa una especie de portal invisible que el dios de portales de turno habria hecho para que pueda tocar su punto de partida.

130  Foros Generales / Foro Libre / Re: Explicar una trayectoria desde la ignorancia en: 27 Abril 2014, 19:44 pm
Bueno, la tierra es plana, pero tiene 2 caras, si camino y no noto que caigo del plano, supondré que entre las caras de la tierra hay unos rodillos que mueven la superficie de la tierra, los cuales se mueven cuando camino, vaya la rendundancia...


Eso tambien lo pense, que tambien podria darse el caso que existiesen rodillos =)
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22 23 24 25 26 27
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines