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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Compartiendo un ejercicio de selección aleatoria (C#)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Compartiendo un ejercicio de selección aleatoria (C#)  (Leído 2,689 veces)
erest0r

Desconectado Desconectado

Mensajes: 147



Ver Perfil
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.  


« Última modificación: 7 Junio 2014, 22:31 pm por erest0r » En línea

Cruzar la calle junto a mucha gente cuando el semáforo sigue en rojo da seguridad y espíritu de equipo... o cruzamos todos o morimos juntos.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
imagen aleatoria VB
Programación Visual Basic
jebg 3 4,548 Último mensaje 30 Enero 2006, 09:52 am
por Grimble Grumble
Escojencia Aleatoria
Java
KAKOTICO 7 4,886 Último mensaje 14 Julio 2010, 09:08 am
por Debci
Selección aleatoria en Combobox?
Desarrollo Web
CWeeD 2 3,591 Último mensaje 4 Febrero 2011, 00:20 am
por JungleBoogie
Problema con ejercicio de clase (Estructuras de selección)
Programación C/C++
foreground 5 3,123 Último mensaje 7 Marzo 2013, 22:50 pm
por leosansan
Array de Objetos y selección aleatoria de los mismos
Java
Gonzalo Leonardo 3 10,097 Último mensaje 26 Marzo 2014, 19:17 pm
por 1mpuls0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines