jusapi

AsignacionExpo2

Jun 9th, 2021
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.39 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Text;
  5.  
  6. namespace Arrays
  7. {
  8.     class AsignacionExpo2
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string[] temasArray = { "1. Que es POO", "2. Diferencias Prog Est-POO", "3. Abstracción", "4. Encapsulación", "5. Herencia", "6. Polimorfismo" };
  13.             string[] aprendicesArray = { "Juan Ceballos", "Mateo", "Marly", "Anderson", "Yuliana", "Paola", "Maria A", "Juan Zapata", "Tatiana", "Santiago", "Nicolas", "Luis Espitia", "Juan Jose", "Jaider", "Adrian" };
  14.             int[] cantAprendTemasMax = { 2, 2, 2, 3, 3, 3 };
  15.             string[] aprendicesTemasArray = new string[15];
  16.             Random rand = new Random();
  17.             bool isTemaSeleccionado;
  18.             int aleatorioTema;
  19.  
  20.             Console.WriteLine("Cantidad de Aprendices: " + aprendicesArray.Length);
  21.             Console.WriteLine("************************");
  22.             // Mostrar temas
  23.             for (int i = 0; i < temasArray.Length; i++)
  24.                 Console.WriteLine("Tema: " + temasArray[i]);
  25.  
  26.             Console.WriteLine("************************");
  27.             // Ciclo para recorrer todos los aprendices para la asignación de temas
  28.             for (int i = 0; i < aprendicesArray.Length; i++)
  29.             {
  30.                 isTemaSeleccionado = false; // Variable para controlar la selección del tema a un aprendiz
  31.                 while (!isTemaSeleccionado) // Se ejecuta mientras no se haya asignado un tema a un aprendiz ya que el número aleatorio
  32.                 {
  33.                     aleatorioTema = rand.Next(0, temasArray.Length);// Se genera un número aleatorio según la cantidad de temas
  34.                     if (cantAprendTemasMax[aleatorioTema] > 0)
  35.                     {
  36.                         cantAprendTemasMax[aleatorioTema]--;
  37.                         isTemaSeleccionado = true;
  38.                         // Se concatena el tema asignado con el aprendiz en cuestión
  39.                         aprendicesTemasArray[i] = temasArray[aleatorioTema] + " - " + aprendicesArray[i];
  40.                     }
  41.                 }
  42.             }
  43.             Console.WriteLine("Los temas asignados son:");
  44.             Array.Sort(aprendicesTemasArray);
  45.             foreach (string item in aprendicesTemasArray)
  46.             {
  47.                 Console.WriteLine(item);
  48.             }
  49.  
  50.         }
  51.     }
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment