using System;
using System.Globalization;
using System.Text;

public class TabulasNobide
{
    public static void Main(string[] args)
    {
        //string persona iestatits mans vards un uzvards
        string persona = "Kristers Saltais";

        //izvada manu vardu un parverš to no lielliem un maziem
        string[] vardsuzvards = persona.ToLower().Split(' ');
        string vards = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(vardsuzvards[0]);
        Console.WriteLine($"Mans vārds: {vards}");

        //izvada manu uzvārdu
        string uzvards = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(vardsuzvards[1]);
        Console.WriteLine($"Mans uzvārds: {uzvards}");

        //pieprasa lai ievada skaitli kasa nav mazāks par 5
        int kolonuskaits;
        do
        {
            Console.Write("Ievadi kolonu skaitu, ne mazāk ka 5: ");
            if (int.TryParse(Console.ReadLine(), out kolonuskaits))
            {
                if (kolonuskaits >= 5)
                {
                    break; //izbeidz loop ja ir veiks pieprasītais
                }
                else
                {
                    Console.WriteLine("Kolonu skaitam jābūt vismaz 5!");
                }
            }
            else
            {
                Console.WriteLine("Nepareiza ievade. Lūdzu, ievadiet skaitli.");
            }
        } while (true);

        //izveido tabulu
        for (int i = 1; i <= kolonuskaits; i++)
        {
            //uztaisi augšējo malu tabulai
            if (i == 1)
            {
                Console.Write("+");
                for (int j = 1; j <= kolonuskaits; j++)
                {
                    Console.Write("---+");
                }
                Console.WriteLine();
            }


            Console.Write("|"); //sak rindu ar malu ( | )
            for (int j = 1; j <= kolonuskaits; j++)
            {
                if (j <= kolonuskaits - i)
                {
                    Console.Write("   |"); 
                }
                else
                {
                    Console.Write($"{j - (kolonuskaits - i),3}|"); //izvada skaitļus šūnās
                }
            }
            Console.WriteLine();

            //izveido apakšejo malu katrai rindai izņemot pašai pedējai rindai
            Console.Write("+");
            for (int j = 1; j <= kolonuskaits; j++)
            {
                Console.Write("---+");
            }
            Console.WriteLine();


        }
        //izvada tabulu 
        for (int i = 1; i <= kolonuskaits; i++)
        {
            //izveidu augšējo malu katrai rindai
            if (i == 1)
            {
                Console.Write("+");
                for (int j = 1; j <= kolonuskaits; j++)
                {
                    Console.Write("---+");
                }
                Console.WriteLine();
            }

            Console.Write("|"); //uzsakt rindu ar malu
            for (int j = 1; j <= kolonuskaits; j++)
            {
                if (j <= i)
                {
                    Console.Write($"{j,3}|"); 
                }
                else
                {
                    Console.Write("   |"); // Tukšas šūnas pēc skaitļiem
                }
            }
            Console.WriteLine();
            //uztaisi tabulai apakšējo malu vai sanu
            Console.Write("+");
            for (int j = 1; j <= kolonuskaits; j++)
            {
                Console.Write("---+");
            }
            Console.WriteLine();
        }

        Console.ReadKey();
    }
}