Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            // 3. feladat
            List <Feladvany> feladvanyok = new List <Feladvany>();
            var beolvasott = File.ReadAllLines(@"C:\temp\Sudoku\feladvanyok.txt");

            foreach (var sor in beolvasott)
            {
                var feladvany = new Feladvany(sor);
                feladvanyok.Add(feladvany);
            }

            Console.WriteLine($"Beolvasva {feladvanyok.Count} feladvány.");

            // 4. feladat
            int szam;

            do
            {
                szam = Convert.ToInt32(Console.ReadLine());
            } while (szam < 4 || szam > 9);

            var talalatok = feladvanyok.Where(x => x.Meret == szam).ToList();

            Console.WriteLine($"{szam}x{szam} méretből {talalatok.Count} feladvány van tárolva.");

            // 5. feladat
            Random r             = new Random();
            var    randomFeladat = talalatok[r.Next(0, talalatok.Count)];

            Console.WriteLine($"{randomFeladat.Kezdo}");

            // 6. feladat
            double kitoltottSzamok = randomFeladat.Kezdo.Where(x => x != '0').Count();
            var    eredmeny        = kitoltottSzamok / Convert.ToDouble(randomFeladat.Kezdo.Length) * 100;

            Console.WriteLine($"A feladat kitöltöttsége {eredmeny}%");

            // 7. feladat
            Console.WriteLine();
            randomFeladat.Kirajzol();

            // 8. feladat
            var lista = talalatok.Select(x => x.Kezdo);

            File.WriteAllLines($@"C:\temp\sudoku\sudoku{szam}.txt", lista);

            Console.ReadLine();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            StreamReader r   = new StreamReader("feladvanyok.txt");
            Random       rnd = new Random();

            List <Feladvany> filtered = new List <Feladvany>();
            List <Feladvany> l        = new List <Feladvany>();

            int    number;
            double percentage;
            int    randomNumber;
            double emptyCount = 0;
            string fileName;

            while (!r.EndOfStream)
            {
                Feladvany f = new Feladvany(r.ReadLine());
                l.Add(f);
            }
            r.Close();

            Console.WriteLine("3. feladat: Beolvasva {0} feladvány", l.Count());

            Console.Write("4. feladat: Kérem a feladvány méretét[4..9]: ");
            do
            {
                number = int.Parse(Console.ReadLine());
                if (number > 10 && number < 3)
                {
                    Console.WriteLine("Nem felel meg a megadott szám!");
                }
            } while (number > 10 && number < 3);

            foreach (Feladvany f in l)
            {
                if (f.Meret == number)
                {
                    filtered.Add(f);
                }
            }
            Console.WriteLine("A {0}x{0} méretű feladványból {1} darab vam tárolva", number, filtered.Count());

            randomNumber = rnd.Next(filtered.Count());
            Console.WriteLine("5. feladat: A kiválasztott feladvány:");
            Console.WriteLine(filtered[randomNumber].Kezdo);

            foreach (char c in filtered[randomNumber].Kezdo)
            {
                if (c == '0')
                {
                    emptyCount++;
                }
            }
            percentage = (emptyCount / filtered[randomNumber].Kezdo.Length) * 100;
            Console.WriteLine("6. feladat: A feladvány kitöltöttsége: {0}%", Math.Round(percentage));

            Console.WriteLine("7. feladat: A feladvány kirajzolva:");
            filtered[randomNumber].Kirajzol();

            fileName = "sudoku" + number + ".txt";
            StreamWriter w = new StreamWriter(fileName);

            foreach (Feladvany f in filtered)
            {
                w.WriteLine(f.Kezdo);
            }
            w.Close();
            Console.WriteLine("8. feladat: {0} állomány {1} darab feladvánnyal létrehozva", fileName, filtered.Count());

            Console.ReadLine();
        }