Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Quiniela
- {
- class Program
- {
- //matriz multidimensional con la tabla de reduccion 7 dobles. Nos servirá para calcular las 16 quinielas simples
- static string[,] reduccion7Dobles = new string[16, 7] {
- { "1", "1", "1", "1", "1", "1", "1" },
- { "1", "1", "1", "1", "x", "x", "x" },
- { "x", "x", "x", "x", "1", "1", "1" },
- { "x", "x", "x", "x", "x", "x", "x" },
- { "x", "x", "1", "1", "x", "1", "1" },
- { "x", "x", "1", "1", "1", "x", "x" },
- { "1", "1", "x", "x", "x", "1", "1" },
- { "1", "1", "x", "x", "1", "x", "x" },
- { "x", "1", "x", "1", "1", "x", "1" },
- { "x", "1", "x", "1", "x", "1", "x" },
- { "1", "x", "1", "x", "1", "x", "1" },
- { "1", "x", "1", "x", "x", "1", "x" },
- { "x", "1", "1", "x", "1", "1", "x" },
- { "x", "1", "1", "x", "x", "x", "1" },
- { "1", "x", "x", "1", "1", "1", "x" },
- { "1", "x", "x", "1", "x", "x", "1" }
- };
- //matriz multidimensional, 16 filas y 15 columnas. De nuestra quiniela con 7 dobles, y la tabla de reduccion,
- //obtendremos 16 quinielas simples, con 15 pronosticos.
- static string[,] apuestas = new string[16, 15];
- //metodo para representar en pantalla todos los elementos de una matriz de cadenas de 2 dimensiones
- static void PintaMatriz2Dimensiones(string[,] matrizmulti)
- {
- for (int i = 0; i < matrizmulti.GetLength(0); i++)
- {
- for (int j = 0; j < matrizmulti.GetLength(1); j++)
- {
- Console.WriteLine(" " + matrizmulti[i, j] + " ");
- }
- }
- }
- //metodo que representa en pantalla una matriz de numeros enteros
- static void PintaMatriz(int[] matriz)
- {
- for (int contador = 0; contador < matriz.Length; contador++)
- {
- Console.WriteLine("En la columna " + (contador + 1) + " : " + matriz[contador] + " aciertos.");
- }
- }
- //metodo con el cual comparamos las 16 quinielas simples, con el resultado final. Devuelve una cadena de enteros, donde guardamos
- // los aciertos de cada quiniela simple.
- static int[] ComparaMatrices(string[,] apuestas, string[] resultadoQuiniela)
- {
- int[] aciertos = new int[16];
- int numeroAciertos = 0;
- for (int i = 0; i < apuestas.GetLength(0); i++)
- {
- for (int j = 0; j < apuestas.GetLength(1); j++)
- {
- if (apuestas[i, j] == resultadoQuiniela[j])
- {
- numeroAciertos++;
- }
- if ((j == 13) && (numeroAciertos != 14)) //si en el pronostico 14 de una quiniela simple, tenemos menos de 14 aciertos, despreciamos el pronostico 15
- {
- j++;
- }
- }
- aciertos[i] = numeroAciertos;
- numeroAciertos = 0;
- }
- return aciertos;
- }
- //Partiendo desde nuestra quiniela de 7 dobles, vamos insertando los valores correctos, en la matriz apuestas dependiendo
- // de lo que pone en la tabla de reduccion de 7 dobles.
- static string[,] Resolucion7Dobles(string[] miquiniela)
- {
- int numeroColumnaMatrizReduccion = 0;
- for (int i = 0; i < apuestas.GetLength(0); i++)
- {
- for (int j = 0; j < apuestas.GetLength(1); j++)
- {
- if ((miquiniela[j] == "1") || (miquiniela[j] == "x") || (miquiniela[j] == "2"))
- {
- apuestas[i, j] = miquiniela[j];
- }
- else
- {
- if ((miquiniela[j] == "1x") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "1"))
- {
- apuestas[i, j] = "1";
- }
- if ((miquiniela[j] == "1x") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "x"))
- {
- apuestas[i, j] = "x";
- }
- if ((miquiniela[j] == "12") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "1"))
- {
- apuestas[i, j] = "1";
- }
- if ((miquiniela[j] == "12") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "x"))
- {
- apuestas[i, j] = "2";
- }
- if ((miquiniela[j] == "x2") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "1"))
- {
- apuestas[i, j] = "x";
- }
- if ((miquiniela[j] == "x2") && (reduccion7Dobles[i, numeroColumnaMatrizReduccion] == "x"))
- {
- apuestas[i, j] = "2";
- }
- numeroColumnaMatrizReduccion++;
- }
- }
- numeroColumnaMatrizReduccion = 0;
- }
- return apuestas;
- }
- static void Main(string[] args)
- {
- int nElementos = 15;
- string[] miQuiniela = new string[nElementos];
- string[] resultadosQuiniela = new string[nElementos];
- string entradaTeclado;
- int[] misaciertos = new int[16];
- //Todo el codigo comentado, sirve para meterle directamente una quiniela por defecto con los resultados finales, para comprobar que
- //lo obtenido por los distintos metodos del programa sea correcto.
- //string[] miQuiniela = { "2", "x2", "x", "2", "2", "1", "12", "1x", "1x", "1", "1x", "12", "x", "1x", "2" };
- //string[] resultadoFinalQuiniela = { "1", "x", "x", "x", "x", "1", "1", "1", "x", "1", "x", "x", "2", "1", "2" };
- //string[] miQuiniela = { "1x", "1x", "1x", "1x", "1x", "1x", "1x", "1", "1", "1", "1", "1", "1", "1", "1" };
- //string[] resultadoFinalQuiniela = { "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1" };
- //Resolucion7Dobles(miQuiniela);
- //misaciertos = ComparaMatrices(apuestas, resultadoFinalQuiniela);
- //PintaMatriz(misaciertos);
- Console.WriteLine("Introduzca su quiniela reducida de 7 dobles: ");
- for (int contador = 0; contador < miQuiniela.Length; contador++)
- {
- entradaTeclado = Console.ReadLine();
- miQuiniela[contador] = entradaTeclado;
- }
- Console.Clear();
- Console.WriteLine("Introduca Los resultados de la Quiniela de la semana");
- for (int contador = 0; contador < resultadosQuiniela.Length; contador++)
- {
- entradaTeclado = Console.ReadLine();
- resultadosQuiniela[contador] = entradaTeclado;
- }
- Console.Clear();
- Resolucion7Dobles(miQuiniela);
- misaciertos = ComparaMatrices(apuestas, resultadosQuiniela);
- PintaMatriz(misaciertos);
- Console.Read();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement