﻿//PIRMĀ DAĻA
using System;
using System.Linq;
class HelloWorld {
  static void Main() {
    // Mainīgo ievade
    Console.Write("Ievadi vārdu: ");
    string vards = Console.ReadLine();
    Console.Write("Ievadi uzvārdu: ");
    string uzvards = Console.ReadLine();
    //Pārējo mainīgo izveide
    int vardsL = vards.Length;
    int uzvardsL = uzvards.Length;
    int i1 = 0;
    int i2 = 0;
    string burts = "";
    string atstarpe = "";
    int rand_num;
    Random rd = new Random();
    //Tabulas izveide
    string [,]tabula = new string[uzvardsL + 4, vardsL + 4];// izveido galveno tabulu
    int []skaitliH = new int [vardsL];
    int []skaitliV = new int [uzvardsL];
    int []skaitliVisi = new int [vardsL * uzvardsL];
    
    //TABULAS ELEMENTU IEVADES DAĻA
   
    //Tabulas nemainīgo elementu ievade
    tabula [0, 0] = "X";
    tabula [uzvardsL + 1, 0] = "sum"; tabula [uzvardsL + 2, 0] = "min"; tabula [uzvardsL + 3, 0] = "max";
    tabula [0, vardsL + 1] = "sum"; tabula [0, vardsL + 2] = "min"; tabula [0, vardsL + 3] = "max";
    
    for (i1 = 1; i1 <= uzvardsL; i1++) {
        //Tabulas vārda un uzvārda ievade
        if (i1 % 2 == 0) // pārbauda vai ir pāra vai nepāra
        { // ja pāra tad ir ar mazo burtu
            tabula[i1, 0] = uzvards.Substring(i1 - 1, 1).ToLower();
            if (i1 <= vardsL) {
                tabula[0, i1] = vards.Substring(i1 - 1, 1).ToLower();
            }
        } 
        else 
        { // ja nepāra tad ar lielo burtu
            tabula[i1, 0] = uzvards.Substring(i1 - 1, 1).ToUpper();
            if (i1 <= vardsL) {
                tabula[0, i1] = vards.Substring(i1 - 1, 1).ToUpper(); 
            } 
        }
        //Random ciparu ievade
        for (i2 = 1; i2 <= vardsL; i2++) {
            rand_num = rd.Next(vardsL, vardsL + uzvardsL + 1); // izvēlas skaitli starp 0 līdz 9
            tabula [i1, i2] = Convert.ToString(rand_num); // ievada izvēlēto skaitli galvenajā tabulā
            skaitliH [i2 - 1] = rand_num; //ievada otrā tabulā
        }
        // Horizontālās Sum, Min, Max valūtas ievade
        tabula [i1, vardsL + 1] = Convert.ToString(skaitliH.Sum());
        tabula [i1, vardsL + 2] = Convert.ToString(skaitliH.Min());
        tabula [i1, vardsL + 3] = Convert.ToString(skaitliH.Max());
    }
    
    for (i1 = 1; i1 <= vardsL; i1++) {
        for (i2 = 1; i2 <= uzvardsL; i2++) {
            skaitliV [i2 - 1] = Convert.ToInt32(tabula [i2, i1]); // ievada rindas skaitļus tabulā
            skaitliVisi [(i2 - 1) + ((i1 - 1) * 10)] = Convert.ToInt32(tabula [i2, i1]); // ievada visus skaitļus tabulā
        }
        //Vertikālās Sum, Min, Max valūtas ievade
        tabula [uzvardsL + 1, i1] = Convert.ToString(skaitliV.Sum());
        tabula [uzvardsL + 2, i1] = Convert.ToString(skaitliV.Min());
        tabula [uzvardsL + 3, i1] = Convert.ToString(skaitliV.Max());
    }//Kopējā Sum, Min, Max valūtas ievade
    tabula [uzvardsL + 1, vardsL + 1] = Convert.ToString(skaitliVisi.Sum());
    tabula [uzvardsL + 2, vardsL + 2] = Convert.ToString(skaitliVisi.Min());
    tabula [uzvardsL + 3, vardsL + 3] = Convert.ToString(skaitliVisi.Max());
        
        //TABULAS IZVADES DAĻA
        
    //Izveido līnijas
    for (i1 = 0; i1 < uzvardsL + 4; i1++) {
        for (i2 = 0; i2 < vardsL + 4; i2++){ 
            if (i1 < 2) {
                Console.Write ("*=======");
            }
            else if (i2 > vardsL) {
                Console.Write ("*=======");
            }
            else {
                if (i1 > uzvardsL) {
                    Console.Write ("*=======");
                }
                else {
                    Console.Write ("+-------");
                }
            }
        }
        
        Console.WriteLine("*");
        Console.Write ("|");
        for (i2 = 0; i2 < vardsL + 4; i2++) {
            if (tabula [i1, i2] == null) { //Pārbauda vai laukums ir tukšs
                Console.Write ("   *   |");
            }
            else {
                burts = tabula[i1 ,i2];
                switch (burts.Length) { //Izvēlas atstarpes garumu
                case 1:
                atstarpe = "   ";
                break;
                case 2:
                atstarpe = "  ";
                break;
                case 3:
                atstarpe = " ";
                break;
                }
                Console.Write ("   " + tabula [i1, i2] + atstarpe + "|"); // Izvada tabulas elementu
            }
        } 
        Console.WriteLine ("");
    }
    //Tabulas pēdējā līnija
    for (i2 = 0; i2 < vardsL + 4; i2++){
        Console.Write ("*======="); 
    } 
    Console.WriteLine ("*");
    
    // OTRĀ TABULA
    Console.WriteLine ("OTRA TABULA");
    Console.WriteLine ("");
    
        //TABULAS IZVADES DAĻA
    //Izveido līnija
    for (i1 = 0; i1 < vardsL + 4; i1++) {
        for (i2 = 0; i2 < uzvardsL + 4; i2++){
            if (i1 < 2) {
                Console.Write ("*=======");
            }
            else if (i2 > uzvardsL) {
                Console.Write ("*=======");
            }
            else {
                if (i1 > vardsL) {
                    Console.Write ("*=======");
                }
                else {
                    Console.Write ("+-------");
                }
            }
        }
        
        Console.WriteLine("*");
        Console.Write ("|");
        for (i2 = 0; i2 < uzvardsL + 4; i2++) {
            if (tabula [i2, i1] == null) { //Pārbauda vai laukums ir tukšs
                Console.Write ("   *   |");
            }
            else {
                burts = tabula[i2 ,i1];
                switch (burts.Length) { // izvēlas atstarpes garumu
                case 1:
                atstarpe = "   ";
                break;
                case 2:
                atstarpe = "  ";
                break;
                case 3:
                atstarpe = " ";
                break;
                }
                Console.Write ("   " + tabula [i2, i1] + atstarpe + "|"); // uzvada tabulas elementu
            }
        } 
        Console.WriteLine ("");
    }
    //Tabulas pēdējā līnija
    for (i2 = 0; i2 < uzvardsL + 4; i2++){
        Console.Write ("*======="); 
    } 
    Console.WriteLine ("*");
    
  }
}






//2. UZD


using System;
class HelloWorld {
  static void Main() {
    Console.Write("Ievadiet paroļu skaitu, kas lielāks par 4: ");
    int Pskaits = Convert.ToInt32(Console.ReadLine());
    if (Pskaits < 5) 
    {Console.WriteLine ("Nepareizi ievadīts skaitlis, paroļu skaitam jābūt lielākam par 4!");}
    else {
    Console.Write("Ievadiet GARĀKO paroles simbolu skaitu, kas lielāks par 9: ");
    int Sskaits = Convert.ToInt32(Console.ReadLine());
    if (Sskaits < 10) 
    {Console.WriteLine ("Nepareizi ievadīts skaitlis, simbolu skaitam jābūt lielākam par 9!");}
    else {
    //Console.Write("Vajag Lielos burtus simboliem (y/n): ");
    //string Lburti = Console.ReadLine();
    //Console.Write("Vajag ciparus un simbolus simboliem (y/n): ");
    //string CipUnSim = Console.ReadLine();
    string []tabula = new string [Pskaits];
    
    
    }
    }
  }
}