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(); }
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(); }