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;
- using System.Threading.Tasks;
- using System.IO;
- namespace ConsoleApp8
- {
- class Program
- { static char [,] tabla= new char[10,10]; //0.ban nincsenek adatok
- static void Main(string[] args)
- {
- Console.WriteLine("1. feladat");
- Console.Write("\nAdja meg a bemeneti fájl nevét! ");
- string fajl_nev=Console.ReadLine();
- Console.Write("\nAdja meg egy sor számát! ");
- int be_sor=int.Parse(Console.ReadLine());
- Console.Write("\nAdja meg egy oszlop számát! ");
- int be_oszlop=int.Parse(Console.ReadLine());
- StreamReader sr=new StreamReader(fajl_nev);
- for(int i=1;i<=9;i++)
- {
- string [] egysor=sr.ReadLine().Split(" ");
- for (int j = 1; j <=9; j++)
- {
- tabla[i,j]=egysor[j-1][0];
- }
- }
- //sr.Close();
- //for (int i = 1; i <=9; i++)
- //{
- // for (int j = 1; j <=9; j++)
- // {
- // Console.Write("{0}\t", tabla[i,j]);
- // }
- // Console.WriteLine();
- //}
- Console.WriteLine("\n3. feladat");
- if (tabla[be_sor, be_oszlop]==0)
- { Console.WriteLine("\nAz adott helyet még nem töltötték ki!"); }
- else {
- Console.Write("Az adott helyen szereplő szám: {0}", tabla[be_sor, be_oszlop]);
- }
- Console.WriteLine("\nA hely a(z) {0}. résztáblához tartozik!", 3*(be_sor)/3+(be_oszlop)/3+1);
- Console.WriteLine("\n4.Feladat");
- int db4=0;
- for (int i = 0; i <= 9; i++)
- {
- for (int j = 0; j <= 9; j++)
- {
- if (tabla[i,j]=='0') //karakter ne maradjon le a''
- {
- db4++;
- }
- }
- }
- Console.WriteLine("Az üres helyek aránya: {0}% ", (((double)db4/81)*100).ToString("F1"));
- Console.WriteLine("\n 5.Feladat");
- while(!sr.EndOfStream)
- {
- string[] egysor=sr.ReadLine().Split(" ");
- char szam=egysor[0][0];//feladat leirás alapján első a szám
- int sor= int.Parse(egysor[1]);//második a sor
- int oszlop = int.Parse(egysor[2]);// harmadik az oszlop
- Console.WriteLine("\nA kiválasztott sor: {0} oszlop: {1}. A szám:{2}", sor, oszlop, szam);
- if (tabla[sor, oszlop]!='0')
- { Console.WriteLine("A helyet már kitöltötték!"); }
- else if (VanSorban(sor, szam))
- Console.WriteLine("Az adott sorban már szerepel a szám.");
- else if (VanOszlopban(oszlop, szam))
- Console.WriteLine("Az adott oszlopban már szerepel a szám.");
- else if (VanSzektorban(((sor - 1) / 3 * 3 + (oszlop - 1) / 3 + 1), szam))
- { Console.WriteLine("A résztáblázatban már szerepel a szám."); }
- else
- Console.WriteLine("A lépés megléphető");
- }
- sr.Close();
- }
- private static bool VanOszlopban(int oszlop, char szam)
- {
- int ez = 1;
- while (ez <= 9 && tabla[ez, oszlop] != szam) ez++;
- return ez <= 9;
- }
- private static bool VanSorban(int sor, char szam)
- {
- int ez = 1;
- while (ez <= 9 && tabla[sor, ez] != szam) ez++;
- return ez <= 9;
- }
- private static bool VanSzektorban(int szektor, char szam)
- {
- int ti = (szektor - 1) / 3 * 3 + 1;
- int tj = (szektor - 1) % 3 * 3 + 1;
- int i = 0;
- int j = 0;
- while (i < 3 && tabla[ti + i, tj + j] != szam)
- {
- j++;
- if (j == 3)
- {
- j = 0;
- i++;
- }
- }
- return i < 3;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement