﻿//C# Uzdevumi 04.03.25


//1. UZD
using System;
class HelloWorld {
  static void Main() {
      //Lietotāja datu ievade
    Console.Write("Mans vārds: ");
    string vards = Console.ReadLine();
    Console.Write("Mans uzvārds: ");
    string uzvards = Console.ReadLine();
    Console.Write("Ievadi rindu skaitu, ne mazāk kā 5: ");
    int Rskaits = Convert.ToInt32(Console.ReadLine());
    Console.Write("Ievadi kolonu skaitu, ne mazāk kā 5: ");
    int Kskaits = Convert.ToInt32(Console.ReadLine());
    int i1 = 1; // pirmajam ciklam
    int i2 = 1; // otrajam ciklam
    int i3 = 1;
    int iL = 1; // tabulācijas ciklam
    int sum = 1;
    int plusV = 0;
    //Skaitļu izvade
    while (i1 <= Rskaits + 1) { //Pirmais cikls kas notiek katru rindu
      i3 = i1;
       while (i3 < Kskaits) { //Cikls priekš sākuma atstarpēm
           Console.Write ("    ");
           i3++;}
       Console.Write ("+"); //Tabulācija
       while (iL <= i1) {
           if (iL <= Kskaits) {
           Console.Write ("---+");
           iL++;}}
         Console.WriteLine ("");
         iL = 1;
         i3 = i1;
       while (i3 < Kskaits) { //Cikls priekš sākuma atstarpēm
           Console.Write ("    ");
           i3++;}
       i2 = 1;
       
       if (i1 > Kskaits) //Pārbauda vai cipars nav lielāks par kolonu skaitu
        {plusV = i1 - Kskaits - 1;}
       
       Console.Write ("|");
       while (i2 <= i1) {
           if (i2 <= Kskaits) { // izvada visus ciparus rindā ar atstarpēm
           sum = i2 + plusV;
           Console.Write (" " + sum + " |");
           }
           i2++;
       } 
       Console.WriteLine(""); // Pārtrauc līniju
       i1++;
       }
       iL = 1;
       if (Rskaits < Kskaits) 
         {iL = iL + 1;
          Console.Write ("    ");
         }
       Console.Write ("+");
       while (iL <= Kskaits) {
           Console.Write ("---+");
           iL++;}
         Console.WriteLine ("");
        
  }
}




//2. UZD


using System;
class HelloWorld {
  static void Main() {
      //Lietotāja datu ievade
    Console.Write("Mans vārds: ");
    string vards = Console.ReadLine();
    Console.Write("Mans uzvārds: ");
    string uzvards = Console.ReadLine();
    Console.Write("Ievadi kolonu skaitu, ne mazāk kā 5: ");
    int Kskaits = Convert.ToInt32(Console.ReadLine());
    int i1 = 1; // pirmajam ciklam
    int i2 = 1; // otrajam ciklam
    int i3 = 1;
    int iL = 1; // tabulācijas ciklam
    int sum = 1;
    int plusV = 0;
    int TabulaC = 1;
    //Skaitļu izvade
    while (TabulaC <= 2) { // Tabulas cikls (taka vai ir pirmā vai otrā tabula)
    i1 = 1; iL = 1;
    while (i1 <= Kskaits) { //Pirmais cikls kas notiek katru rindu
      i3 = i1;
       if (TabulaC == 1) { //Pārbauda vai ir pirmā tabula
       while (i3 < Kskaits ) { //Cikls priekš sākuma atstarpēm
           Console.Write ("    ");
           i3++;}
       }
       Console.Write ("+"); //Tabulācija
       while (iL <= i1) {
           if (iL <= Kskaits) {
           Console.Write ("---+");
           iL++;}}
         Console.WriteLine ("");
         iL = 1;
         i3 = i1;
         if (TabulaC == 1) { //Pārbauda vai ir pirmā tabula
       while (i3 < Kskaits) { //Cikls priekš sākuma atstarpēm
           Console.Write ("    ");
           i3++;}
         }
       i2 = 1;
       
       if (i1 > Kskaits) //Pārbauda vai cipars nav lielāks par kolonu skaitu
        {plusV = i1 - Kskaits - 1;}
       Console.Write ("|");
       while (i2 <= i1) {
           if (i2 <= Kskaits) { // izvada visus ciparus rindā ar atstarpēm
           sum = i2 + plusV;
           Console.Write (" " + sum + " |");
           }
           i2++;
       } 
       Console.WriteLine(""); // Pārtrauc rindu
       i1++;
       }
       iL = 1;
       if (TabulaC == 2){iL = 0;} // Pārbauda vai ir otrā tabula
       while (iL < Kskaits) { // Izveido pēdējo tabulas līniju
           Console.Write ("+---");
           iL++;}
       TabulaC++;
  } Console.Write ("+");
}
}


//4. UZD

using System;
class HelloWorld {
  static void Main() {
    Console.Write("Ievadiet savu vārdu: ");
    string vards = Console.ReadLine(); //Ievada vārdu
    Console.Write("Ievadiet savu uzvārdu: ");
    string uzvards = Console.ReadLine(); // Ievada uzvārdu
    int vardsL = vards.Length; // Dabū cik simboli ir vārdā un ievada mainīgajā vardsL
    int uzvardsL = uzvards.Length;
    string vardsC = vards.ToUpper();
    string uzvardsC = uzvards.ToLower();
    // Izvada vārdu kopā ar simbolu skaitu
    Console.WriteLine("Mans vārds ir " + vards + " un tajā ir " + vardsL + " simboli."); 
    // Izvada uzvārdu ar simbolu skaitu
    Console.WriteLine("Mans uzvārds ir " + uzvards + " un tajā ir " + uzvardsL + " simboli.");
    
    //let the horrors begin again
    int i1 = 1;
    int i2 = 1;
    string burts = "";
    string atstarpe = "";
    //Tabulas izveide
    string[,] tabula = new string[uzvardsL + 1, vardsL + 5];
    
    //Tabulas datu ievade
    for (i1 = 1; i1 <= vardsL; i1++) { //ievada vārdu
        tabula[0, i1] = vardsC.Substring(i1 - 1, 1); }
        
    for (i1 = 1; i1 <= uzvardsL; i1++) { //ievada uzvārdu
        tabula[i1, 0] = uzvardsC.Substring(i1 - 1, 1); }
        
        tabula [0,0] = "x"; // Parējo elementu ievade
        tabula [0,vardsL + 1] = "max"; tabula [0,vardsL + 2] = "min";
        tabula [0,vardsL + 3] = "vid"; tabula [0,vardsL + 4] = "sum";
        
    
    for (i2 = 1; i2 <= uzvardsL; i2++){
    for (i1 = 1; i1 <= vardsL + 4; i1++) {
      Random rd = new Random();
      int rand_num = rd.Next(vardsL, vardsL + uzvardsL); // es nezināju kā izveidot max min un avg
      tabula [i2,i1] = Convert.ToString (rand_num);
    }
    }
    
    
    //Tabulas Izvade
  for (i2 = 0; i2 <= uzvardsL; i2++){  //izveido līnijas
    Console.Write ("+");
    for (i1 = 0; i1 <= vardsL + 4; i1++) {
      Console.Write ("-------+");
    }
    Console.WriteLine ("");
    Console.Write ("|");
    for (i1 = 0; i1 <= vardsL + 4; i1++) { //izvada visus tabulas datus
     burts = tabula[i2, i1];
     switch (burts.Length) {
      case 1:
      atstarpe = "   ";
      break;
      case 2:
      atstarpe = "  ";
      break;
      case 3:
      atstarpe = " ";
      break;
    }
      Console.Write ("   " + tabula [i2, i1] + atstarpe + "|"); 
    } // Cikla 1 beigas
    Console.WriteLine ("");
    }//Cikla 2 beigas
    
    //Pēdējā līnija
    Console.Write ("+");
    for (i1 = 0; i1 <= vardsL + 4; i1++) {
      Console.Write ("-------+");
    }
}
}