Uzdevumi_Metodes
using System;

class Program
{
    static void Main()
    {
        // Iepriekš definēts vārds un uzvārds
        string vards = "Arians";
        string uzvards = "Golovins";

        // Formatē katru otro burtu lielo
        string formatetsVards = FormatetTekstu(vards);
        string formatetsUzvards = FormatetTekstu(uzvards);

        // Aprēķina vērtību robežas
        int minValue = vards.Length;
        int maxValue = vards.Length + uzvards.Length;
        int kolonuSkaits = formatetsVards.Length + 4;
        int rinduSkaits = formatetsUzvards.Length + 4;

        Random rand = new Random();

        // Izveido 2D masīvu
        int[,] masivs = new int[rinduSkaits - 4, kolonuSkaits - 4];
        for (int i = 0; i < rinduSkaits - 4; i++)
        {
            for (int j = 0; j < kolonuSkaits - 4; j++)
            {
                masivs[i, j] = rand.Next(minValue, maxValue + 1);
            }
        }

        // Izvada tabulas galveni
        Console.WriteLine("+" + new string('-', 8 * kolonuSkaits - 1) + "+");
        Console.WriteLine("| {0,5} | {1}", "X", FormatetRindu(formatetsVards));
        Console.WriteLine("+" + new string('-', 8 * kolonuSkaits - 1) + "+");

        // Izvada pārējās rindas
        for (int i = 0; i < rinduSkaits - 4; i++)
        {
            Console.WriteLine("| {0,5} | {1}", formatetsUzvards[formatetsUzvards.Length - 1 - i], FormatetRindu(masivs, i));
            Console.WriteLine("+" + new string('-', 8 * kolonuSkaits - 1) + "+");
        }

        // Izvada pēdējās rindas ar sum, min, max
        string[] labels = { "sum", "min", "max" };
        for (int r = 0; r < 3; r++)
        {
            Console.WriteLine("| {0,5} | {1}", labels[r], FormatetRindu(masivs, rinduSkaits - 4 + r));
            Console.WriteLine("+" + new string('-', 8 * kolonuSkaits - 1) + "+");
        }
    }

    static string FormatetTekstu(string teksts)
    {
        char[] simboli = teksts.ToCharArray();
        for (int i = 0; i < simboli.Length; i += 2)
        {
            simboli[i] = char.ToUpper(simboli[i]);
        }
        return new string(simboli);
    }

    static string FormatetRindu(int[,] masivs, int rinda)
    {
        string rindaTeksts = "";
        int kolonuSkaits = masivs.GetLength(1);
        int sum = 0, min = int.MaxValue, max = int.MinValue;

        if (rinda < masivs.GetLength(0))
        {
            for (int j = 0; j < kolonuSkaits; j++)
            {
                rindaTeksts += string.Format("{0,5} | ", masivs[rinda, j]);
                sum += masivs[rinda, j];
                min = Math.Min(min, masivs[rinda, j]);
                max = Math.Max(max, masivs[rinda, j]);
            }
            rindaTeksts += string.Format("{0,5} | {1,5} | {2,5} | ", sum, min, max);
        }
        else
        {
            for (int j = 0; j < kolonuSkaits; j++)
            {
                int result = 0;
                if (rinda == masivs.GetLength(0)) // sum
                {
                    for (int i = 0; i < masivs.GetLength(0); i++)
                        result += masivs[i, j];
                }
                else if (rinda == masivs.GetLength(0) + 1) // min
                {
                    result = masivs[0, j];
                    for (int i = 1; i < masivs.GetLength(0); i++)
                        result = Math.Min(result, masivs[i, j]);
                }
                else // max
                {
                    result = masivs[0, j];
                    for (int i = 1; i < masivs.GetLength(0); i++)
                        result = Math.Max(result, masivs[i, j]);
                }
                rindaTeksts += string.Format("{0,5} | ", result);
            }
            rindaTeksts += "*\t|*\t|*\t|";
        }

        return rindaTeksts;
    }

    static string FormatetRindu(string teksts)
    {
        string rindaTeksts = "";
        foreach (char c in teksts)
        {
            rindaTeksts += string.Format("{0,5} | ", c);
        }
        rindaTeksts += "sum\t|min\t|max\t| ";
        return rindaTeksts;
    }
}
