예제 #1
0
        static void Otodik()
        {
            // Ötödik feladat
            Keppont fekete = new Keppont(0, 0, 0);

            // Három képpont széles
            // ergó
            // balsó három oszlop, felső három sor
            // alsó három sor és jobbsó három oszlop
            // (meg persze a metszéspontok, de azt felülírjuk kétszer)

            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (// Felső három sor
                        i == 0 || i == 1 || i == 2 ||
                        // Alsó három sor
                        i == Kep.GetUpperBound(0) - 2 ||
                        i == Kep.GetUpperBound(0) - 1 ||
                        i == Kep.GetUpperBound(0) ||
                        // Balsó három oszlop
                        j == 0 || j == 1 || j == 2 ||
                        // Jobbsó három oszlop
                        j == Kep.GetUpperBound(1) - 2 ||
                        j == Kep.GetUpperBound(1) - 1 ||
                        j == Kep.GetUpperBound(1)
                        )
                    {
                        Kep[i, j] = fekete;
                    }
                }
            }
        }
예제 #2
0
        static void Elso()
        {
            // Első feladat
            using (FileStream keptxt = new FileStream("kep.txt", FileMode.Open, FileAccess.Read))
            using (StreamReader read = new StreamReader(keptxt))
            {
                int sor = 0;
                int oszlop = 0;

                while (!read.EndOfStream)
                {
                    string olvas = read.ReadLine();
                    string[] elemek = olvas.Split(' ');

                    Kep[sor, oszlop] = new Keppont(Convert.ToByte(elemek[0]), Convert.ToByte(elemek[1]), Convert.ToByte(elemek[2]));

                    oszlop++;
                    if (oszlop == 50)
                    {
                        sor++;
                        oszlop = 0;
                    }
                }
            }
        }
예제 #3
0
        static void Elso()
        {
            // Első feladat
            using (FileStream keptxt = new FileStream("kep.txt", FileMode.Open, FileAccess.Read))
                using (StreamReader read = new StreamReader(keptxt))
                {
                    int sor    = 0;
                    int oszlop = 0;

                    while (!read.EndOfStream)
                    {
                        string   olvas  = read.ReadLine();
                        string[] elemek = olvas.Split(' ');

                        Kep[sor, oszlop] = new Keppont(Convert.ToByte(elemek[0]), Convert.ToByte(elemek[1]), Convert.ToByte(elemek[2]));

                        oszlop++;
                        if (oszlop == 50)
                        {
                            sor++;
                            oszlop = 0;
                        }
                    }
                }
        }
예제 #4
0
        static void Harmadik()
        {
            // Harmadik feladat
            // (0-tól indexelünk ezért a 35. sor 8. képpontjának koordinátái 34 és 7)
            Keppont kp_35_8 = Kep[34, 7];

            // Sor átnézése
            int sorban = 0;

            for (int i = 0; i <= Kep.GetUpperBound(1); i++)
            {
                if (Kep[34, i] == kp_35_8)
                {
                    sorban++;
                }
            }

            // Oszlop átnézése
            int oszlopban = 0;

            for (int j = 0; j <= Kep.GetUpperBound(0); j++)
            {
                if (Kep[j, 7] == kp_35_8)
                {
                    oszlopban++;
                }
            }

            Console.WriteLine("3. feladat: Sorban: " + Convert.ToString(sorban) +
                              " Oszlopban: " + Convert.ToString(oszlopban));
        }
예제 #5
0
        static void Masodik()
        {
            // Második feladat

            // Beolvasás
            Console.WriteLine("2. feladat: Kérek egy színt!");
            Console.Write("Vörös? ");
            string Sr = Console.ReadLine();

            Console.Write("Zöld? ");
            string Sg = Console.ReadLine();

            Console.Write("Kék? ");
            string Sb = Console.ReadLine();

            byte r = 0;
            byte g = 0;
            byte b = 0;

            try
            {
                r = Convert.ToByte(Sr);
                g = Convert.ToByte(Sg);
                b = Convert.ToByte(Sb);
            }
            catch (Exception)
            {
                Console.WriteLine("Érvénytelen a beírt érték! Számnak kell lennie, 0 és 255 között!");
                Console.WriteLine("A program futtatása megszakad. ENTER leütése után kilép...");
                Console.ReadLine();
                Environment.Exit(1);
            }

            // Keresés
            Keppont keresett_szin = new Keppont(r, g, b);
            bool    talalt        = false;

            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (Kep[i, j] == keresett_szin)
                    {
                        talalt = true;
                    }
                }
            }

            if (talalt)
            {
                Console.WriteLine("Ilyen létezik a képen.");
            }
            else
            {
                Console.WriteLine("Ilyen nem létezik a képen.");
            }
        }
예제 #6
0
        static void Hetedik()
        {
            Keppont sarga = new Keppont(255, 255, 0);

            int bal   = 0;
            int felso = 0;
            int jobb  = 0;
            int also  = 0;

            // Keresés
            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (Kep[i, j] == sarga)
                    {
                        // Az első megtalált képpont a téglalap bal felső sarka
                        // (Persze kihasználjuk, hogy tudjuk, téglalapról van szó.)
                        if (bal == 0)
                        {
                            bal = i;
                        }
                        if (felso == 0)
                        {
                            felso = j;
                        }

                        // Maximumkeresés a jobb (X) és alsó (Y) meghatározására
                        if (i > jobb)
                        {
                            jobb = i;
                        }
                        if (j > also)
                        {
                            also = j;
                        }
                    }
                }
            }

            // Az iteráció végére megvannak a koordináták.
            int sorok    = also - felso;
            int oszlopok = jobb - bal;
            int szam     = sorok * oszlopok;

            // Kiírás
            Console.WriteLine("7. feladat:");
            Console.WriteLine("Kezd: " + felso + ", " + bal);
            Console.WriteLine("Vége: " + also + ", " + jobb);
            Console.WriteLine("Képpontok száma: " + szam);
        }
예제 #7
0
        static void Negyedik()
        {
            // Negyedik feladat
            Keppont voros = new Keppont(255, 0, 0);
            Keppont zold  = new Keppont(0, 255, 0);
            Keppont kek   = new Keppont(0, 0, 255);

            int cVoros = 0;
            int cZold  = 0;
            int cKek   = 0;

            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    Keppont k = Kep[i, j];
                    if (Kep[i, j] == voros)
                    {
                        cVoros++;
                    }

                    if (Kep[i, j] == zold)
                    {
                        cZold++;
                    }

                    if (Kep[i, j] == kek)
                    {
                        cKek++;
                    }
                }
            }

            // Kiírás
            Console.Write("4. feladat: A legtöbbször előforduló szín a ");
            if (cVoros > cZold && cVoros > cKek)
            {
                Console.WriteLine("vörös.");
            }

            if (cZold > cVoros && cZold > cKek)
            {
                Console.WriteLine("zöld.");
            }

            if (cKek > cVoros && cKek > cZold)
            {
                Console.WriteLine("kék.");
            }
        }
예제 #8
0
            public override bool Equals(object obj)
            {
                if (obj == null || !(obj is Keppont))
                {
                    return(false);
                }

                Keppont b = (Keppont)obj;

                if (this.R == b.R && this.G == b.G && this.B == b.B)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
예제 #9
0
        static void Hetedik()
        {
            Keppont sarga = new Keppont(255, 255, 0);

            int bal = 0;
            int felso = 0;
            int jobb = 0;
            int also = 0;

            // Keresés
            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (Kep[i, j] == sarga)
                    {
                        // Az első megtalált képpont a téglalap bal felső sarka
                        // (Persze kihasználjuk, hogy tudjuk, téglalapról van szó.)
                        if (bal == 0)
                            bal = i;
                        if (felso == 0)
                            felso = j;

                        // Maximumkeresés a jobb (X) és alsó (Y) meghatározására
                        if (i > jobb)
                            jobb = i;
                        if (j > also)
                            also = j;
                    }
                }
            }

            // Az iteráció végére megvannak a koordináták.
            int sorok = also - felso;
            int oszlopok = jobb - bal;
            int szam = sorok * oszlopok;

            // Kiírás
            Console.WriteLine("7. feladat:");
            Console.WriteLine("Kezd: " + felso + ", " + bal);
            Console.WriteLine("Vége: " + also + ", " + jobb);
            Console.WriteLine("Képpontok száma: " + szam);
        }
예제 #10
0
        static void Otodik()
        {
            // Ötödik feladat
            Keppont fekete = new Keppont(0, 0, 0);

            // Három képpont széles
            // ergó
            // balsó három oszlop, felső három sor
            // alsó három sor és jobbsó három oszlop
            // (meg persze a metszéspontok, de azt felülírjuk kétszer)

            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (// Felső három sor
                        i == 0 || i == 1 || i == 2 ||
                        // Alsó három sor
                        i == Kep.GetUpperBound(0) - 2 ||
                        i == Kep.GetUpperBound(0) - 1 ||
                        i == Kep.GetUpperBound(0) ||
                        // Balsó három oszlop
                        j == 0 || j == 1 || j == 2 ||
                        // Jobbsó három oszlop
                        j == Kep.GetUpperBound(1) - 2 ||
                        j == Kep.GetUpperBound(1) - 1 ||
                        j == Kep.GetUpperBound(1)
                        )
                    {
                        Kep[i, j] = fekete;
                    }
                }
            }
        }
예제 #11
0
        static void Negyedik()
        {
            // Negyedik feladat
            Keppont voros = new Keppont(255, 0, 0);
            Keppont zold = new Keppont(0, 255, 0);
            Keppont kek = new Keppont(0, 0, 255);

            int cVoros = 0;
            int cZold = 0;
            int cKek = 0;

            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    Keppont k = Kep[i, j];
                    if (Kep[i, j] == voros)
                        cVoros++;

                    if (Kep[i, j] == zold)
                        cZold++;

                    if (Kep[i, j] == kek)
                        cKek++;
                }
            }

            // Kiírás
            Console.Write("4. feladat: A legtöbbször előforduló szín a ");
            if (cVoros > cZold && cVoros > cKek)
                Console.WriteLine("vörös.");

            if (cZold > cVoros && cZold > cKek)
                Console.WriteLine("zöld.");

            if (cKek > cVoros && cKek > cZold)
                Console.WriteLine("kék.");
        }
예제 #12
0
        static void Masodik()
        {
            // Második feladat

            // Beolvasás
            Console.WriteLine("2. feladat: Kérek egy színt!");
            Console.Write("Vörös? ");
            string Sr = Console.ReadLine();

            Console.Write("Zöld? ");
            string Sg = Console.ReadLine();

            Console.Write("Kék? ");
            string Sb = Console.ReadLine();

            byte r = 0;
            byte g = 0;
            byte b = 0;
            try
            {
                r = Convert.ToByte(Sr);
                g = Convert.ToByte(Sg);
                b = Convert.ToByte(Sb);
            }
            catch (Exception)
            {
                Console.WriteLine("Érvénytelen a beírt érték! Számnak kell lennie, 0 és 255 között!");
                Console.WriteLine("A program futtatása megszakad. ENTER leütése után kilép...");
                Console.ReadLine();
                Environment.Exit(1);
            }

            // Keresés
            Keppont keresett_szin = new Keppont(r, g, b);
            bool talalt = false;
            for (int i = 0; i <= Kep.GetUpperBound(0); i++)
            {
                for (int j = 0; j <= Kep.GetUpperBound(1); j++)
                {
                    if (Kep[i, j] == keresett_szin)
                        talalt = true;
                }
            }

            if (talalt)
                Console.WriteLine("Ilyen létezik a képen.");
            else
                Console.WriteLine("Ilyen nem létezik a képen.");
        }