Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Eurovision
- {
- class Program
- {
- public struct pais
- {
- public string nom;
- public int punts;
- }
- static void Main(string[] args)
- {
- string terminar = "S";
- while (terminar == "S")
- {
- Random rnd = new Random();
- int randnum;
- //CREAMOS EL ARRAY DE LOS PAISES
- pais[] pais = new pais[26];
- pais[0].nom = "The Netherlands";
- pais[1].nom = "Italy";
- pais[2].nom = "Russia";
- pais[3].nom = "Switzerland";
- pais[4].nom = "Norway";
- pais[5].nom = "Sweden";
- pais[6].nom = "Azerbaijan";
- pais[7].nom = "North Macedonia";
- pais[8].nom = "Australia";
- pais[9].nom = "Iceland";
- pais[10].nom = "Czech Republic";
- pais[11].nom = "Denmark";
- pais[12].nom = "Slovenia";
- pais[13].nom = "France";
- pais[14].nom = "Cyprus";
- pais[15].nom = "Malta";
- pais[16].nom = "Serbia";
- pais[17].nom = "Albania";
- pais[18].nom = "Estonia";
- pais[19].nom = "San Marino";
- pais[20].nom = "Greece";
- pais[21].nom = "Spain";
- pais[22].nom = "Israel";
- pais[23].nom = "Germany";
- pais[24].nom = "Belarus";
- pais[25].nom = "United Kingdom";
- ////////////////////////////////////////////
- //CREAMOS EL ARRAY DE LA DISTRIBUCION DE PUNTOS
- int[] puntos = new int[10];
- puntos[0] = 1;
- puntos[1] = 2;
- puntos[2] = 3;
- puntos[3] = 4;
- puntos[4] = 5;
- puntos[5] = 6;
- puntos[6] = 7;
- puntos[7] = 8;
- puntos[8] = 10;
- puntos[9] = 12;
- /////////////////////////////////////////
- //el pais que vota (i)
- for (int i = 0; i < 26; i++)
- {
- //crear array de paises a los uqe votas
- int[] comprobarpais = new int[10];
- for (int g = 0; g < 10; g++)
- {
- comprobarpais[g] = rnd.Next(0, 26);
- }
- //que no se repitan
- for (int g = 0; g < 10; g++)
- {
- for (int j = 0; j < g; j++)
- {
- if (comprobarpais[j] == comprobarpais[g])
- {
- j = 0;
- comprobarpais[g] = rnd.Next(0, 26);
- }
- if (comprobarpais[g] == i)
- {
- j = 0;
- comprobarpais[g] = rnd.Next(0, 26);
- }
- if (comprobarpais[0] == comprobarpais[g])
- {
- comprobarpais[g] = rnd.Next(0, 26);
- j = 0;
- }
- }
- }
- //dar puntos
- int[] comprobarpuntos = new int[10];
- for (int g = 0; g < 10; g++)
- {
- randnum = rnd.Next(0, 10);
- comprobarpuntos[g] = puntos[randnum];
- //comprobar que no se dan puntos repetidos
- for (int h = 0; h <= g; h++)
- {
- for (int j = 0; j < h; j++)
- {
- if (comprobarpuntos[j] == comprobarpuntos[h])
- {
- randnum = rnd.Next(0, 10);
- comprobarpuntos[g] = puntos[randnum];
- j = 0;
- }
- if (comprobarpuntos[0] == comprobarpuntos[h])
- {
- randnum = rnd.Next(0, 10);
- comprobarpuntos[g] = puntos[randnum];
- j = 0;
- }
- }
- }
- }
- for (int g = 0; g < 10; g++)
- {
- Console.WriteLine(comprobarpuntos[g]);
- }
- Console.WriteLine("");
- Console.WriteLine("Esta votando el pais " + pais[i].nom);
- //ordenar lista votos
- for (int a = 1; a <= 9; a++)
- {
- int reservapunto;
- string reservapais;
- if (comprobarpuntos[a] < comprobarpuntos[a - 1])
- {
- reservapunto = comprobarpuntos[a - 1];
- comprobarpuntos[a - 1] = comprobarpuntos[a];
- comprobarpuntos[a] = reservapunto;
- reservapais = pais[a - 1].nom;
- pais[a - 1].nom = pais[a].nom;
- pais[a].nom = reservapais;
- a = 0;
- }
- }
- //mostrar lista de votos ordenada
- for (int g = 0; g < 10; g++)
- {
- Console.WriteLine(comprobarpuntos[g] + " puntos para " + pais[comprobarpais[g]].nom);
- pais[comprobarpais[g]].punts = pais[comprobarpais[g]].punts + comprobarpuntos[g];
- }
- Console.WriteLine("");
- ordenar(pais);
- //MOSTRAR clasificacion actual
- for (int a = 0; a < 13; a++)
- {
- Console.Write(String.Format("{0,-18} {1,-8} ", pais[a].nom, pais[a].punts));
- Console.WriteLine(String.Format("{0,-18} {1,-8} ", pais[a + 13].nom, pais[a + 13].punts));
- }
- }
- Console.WriteLine("");
- //funcion que ordena nuestra estructura final
- void ordenar(pais[] punts)
- {
- int reservapunto;
- string reservanombre;
- for (int i = 1; i <= 25; i++)
- {
- if (pais[i].punts > pais[i - 1].punts)
- {
- reservapunto = pais[i - 1].punts;
- pais[i - 1].punts = pais[i].punts;
- pais[i].punts = reservapunto;
- reservanombre = pais[i - 1].nom;
- pais[i - 1].nom = pais[i].nom;
- pais[i].nom = reservanombre;
- i = 0;
- }
- }
- }
- //ordeno la clasificacion por ultima vez
- ordenar(pais);
- //convertimos la estructura en una matriz de strings
- string[,] final = new string[26, 2];
- for (int i = 0; i <= 25; i++)
- {
- for (int j = 0; j <= 1; j++)
- {
- if (j == 0)
- {
- final[i, j] = pais[i].nom;
- }
- if (j == 1)
- {
- final[i, j] = Convert.ToString(pais[i].punts);
- }
- }
- }
- Console.WriteLine("");
- Console.WriteLine("LA TABLA DE RESULTADOS FINALES ES ");
- Console.WriteLine("");
- for (int a = 0; a < 13; a++)
- {
- Console.Write(String.Format("{0,-18} {1,-8} ", final[a, 0], final[a, 1]));
- Console.WriteLine(String.Format("{0,-18} {1,-8} ", final[a + 13, 0], final[a + 13, 1]));
- }
- Console.WriteLine("Quieres repetir el concurso (S) o terminar el programa (N)?");
- terminar = Console.ReadLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement