3. osa Kordused, massiivid ja klassid.

1. Kordused (Tsüklid)

Tsüklid võimaldavad meil kordama samu toiminguid mitu korda. Koodis on kasutatud for tsüklit, mis aitab meil läbida tabeli ridu ja veerge või lubab kasutajal teha mitu katset numbrit ära arvata.

for (int i = 1; i <= ridadeArv; i++)
{
    for (int j = 1; j <= veergudeArv; j++)
    {
        tabel[i - 1, j - 1] = i * j;
    }
}

2. Massiivid (Maatriksid)

Massiivid (või maatriksid) on andmestruktuurid, mis salvestavad sama tüüpi väärtused ühe konteinerina. C#-is kasutatakse neid näiteks kahe- või mitmemõõtmelistes vormingutes.

int[,] tabel = new int[ridadeArv, veergudeArv];

3. Klassid (Klassid)

Klassid on andmete ja meetodite kogumid, mis võimaldavad luua objekte, millel on oma omadused ja käitumine. Klasside abil saab kapseldada (encapsulate) kogu vajaliku loogika.

  • Klassid koodis:
    Koodis ei ole otse klasside määratlus, aga kõik meetodid (nt GenereeriKorrutustabel ja ArvaArv) kuuluvad klassi. Tavaliselt oleksid need meetodid klassi sees, näiteks:
class Program
{
    public static void GenereeriKorrutustabel(int ridadeArv, int veergudeArv)
    {
        // Korrutustabeli genereerimine
    }

    public static bool ArvaArv()
    {
        // Arvu äraarvamise mäng
    }
}

Koodikoodide Üksikasjalik Selgitus:

1. GenereeriKorrutustabel (Korrutustabeli genereerimine):

Koodis on massiiv, mis salvestab iga rida ja veergu korrutustabelis. Kõigepealt loome int[,] tabel massiivi, mille mõõtmed määratakse argumentidega ridadeArv ja veergudeArv. Seejärel täidame massiivi väärtused kahe tsükliga, mille abil iga ruut täidetakse vastava korrutustulemusena.

public static void GenereeriKorrutustabel(int ridadeArv, int veergudeArv)
{
    int[,] tabel = new int[ridadeArv, veergudeArv];
    for (int i = 1; i <= ridadeArv; i++)
    {
        for (int j = 1; j <= veergudeArv; j++)
        {
            tabel[i - 1, j - 1] = i * j; // Täidame tabeli
        }
    }
    Console.WriteLine("Korrutustabel:");
    for (int i = 0; i < ridadeArv; i++)
    {
        for (int j = 0; j < veergudeArv; j++)
        {
            Console.Write(tabel[i, j].ToString().PadLeft(4)); // Prindime välja tabeli väärtused
        }
        Console.WriteLine();
    }
}

2. ArvaArv (Mäng arvu äraarvamiseks):

public static bool ArvaArv()
{
Random rnd = new Random();
int number = rnd.Next(1, 101); // Arv on juhuslikult vahemikus 1-100
int attempts = 5;

for (int i = 1; i <= attempts; i++)
{
    Console.Write($"Sisesta arv ({i}/{attempts}): ");
    bool parsed = int.TryParse(Console.ReadLine(), out int guess);

    if (!parsed)
    {
        Console.WriteLine("Palun sisesta korrektne täisarv.");
        i--; // Ei loe katseks, kui sisend ei ole korrektne
        continue;
    }

    if (guess < number)
    {
        Console.WriteLine("Liiga väike");
    }
    else if (guess > number)
    {
        Console.WriteLine("Liiga suur");
    }
    else
    {
        Console.WriteLine("Õige!");
        return true; // Arv on ära arvatud
    }
}

Console.WriteLine($"Mäng läbi! Õige arv oli {number}.");
return false; // Mäng läbi, arv ei ole ära arvatud

}