/*
Veidoja: Ēriks Brūveris
Grupa: 110
Praktiskais darbs 7
Izmantotais Compiler: www.onlinegdb.com
*/
using System;
using System.Collections.Generic;
using System.Linq;

class HelloWorld {
/*
    static void Main() {
        //definesana
List<double> izdevumi = new List<double>();
List<double> izejasDati = new List <double>();
List<double> dati = new List <double>();
double slieksnis=0, maksimums=0, range=0;
int izvele;
    do{
        //izvelne
    Console.Write("1 - Ievadīt izdevumus\n"+
                    "2 - Filtrēt izdevumus\n"+
                    "3 - Analizēt izdevumus\n"+
                    "4 - Pārtraukt programmu\n"+
                    "Izvēle: ");
    izvele = Convert.ToInt32(Console.ReadLine());
        switch(izvele){
        case 1: IevadietIzdevumus(izdevumi); break;
        case 2: FiltretIzdevumus(izejasDati, izdevumi, slieksnis, maksimums); break;
        case 3: AprekinatMainibu(dati, izejasDati, slieksnis, maksimums, range); break;
        case 4: Console.WriteLine("Pārtrauc programmu."); break;
        default: Console.WriteLine("Izvēle nav paredzēta\n"); break;
        }
    }while(izvele!=4);
  }
  
static void IevadietIzdevumus(List <double> izdevumi){
    string izvele;
    do{
        Console.Write("\nIevadi izdevumu:");
        izdevumi.Add(Convert.ToDouble(Console.ReadLine()));
        Console.Write("Turpināt? (Y/N):");
        izvele=Console.ReadLine();
    }while(izvele!="N"||izvele!="n"|| izvele !=" "||izvele!="");
}

static void FiltretIzdevumus(List<double>izejasDati, List<double>izdevumi, double slieksnis, double maksimums){
    Console.Write("Izdevumu slieksnis?: ");
    slieksnis=Convert.ToDouble(Console.ReadLine());
    
    for(int i=0; i<izdevumi.Count; i++){
        if(izdevumi.ElementAt(i)<slieksnis) continue;
        else izejasDati.Add(izdevumi.ElementAt(i));
    }
    Console.Write("Filtrētais saraksts: ");
    for(int i=0; i<izejasDati.Count; i++){
        Console.Write(izejasDati[i]+" ");
    }
    Console.WriteLine();
}

static void AprekinatMainibu(List<double>dati, List<double>izejasDati, double slieksnis, double maksimums, double range){
    izejasDati.Sort();
    range=(Math.Abs(izejasDati.ElementAt(izejasDati.Count-1))-(izejasDati.ElementAt(0)));
    Console.WriteLine("Izdevumu diapzona: "+range); */
    //sapratu, ka nav "return" statement, bet manuprāt nav jēgas, jo īsti neredzu jēgu😋
/*
//2. uzdevums
    static void Main() {
        //definesana
    int izvele;
    string [,] noliktava = {{null, "FentReactor", "žurka"},
                            {"Džesijs Rozvīrs", "Elektriskā ķerra", "Steamhappy"},
                            {"Erika saplēstais telefona aizsargstikls", "Komiski liela karote", null}};
    do{
        //izvelne
    Console.Write("1 - Meklēt preci\n"+
                    "2 - Aprēķināt neaizpildītās\n"+
                    "3 - Apturēt programmu\n"+
                    "Izvēle: ");
    izvele = Convert.ToInt32(Console.ReadLine());
        switch(izvele){
        case 1: AtklatPreci(noliktava); break;
        case 2: AprekinatNeaizpilditas(noliktava); break;
        case 3: Console.WriteLine("Pārtrauc programmu."); break;
        default: Console.WriteLine("Izvēle nav paredzēta\n"); break;
        }
    }while(izvele!=3);
  }
static void AtklatPreci (string [,] noliktava){
    //definesana
    string kods;
    bool atrasts=false;
    
    //ievada preces kodu
    Console.Write("Preces kods (nosaukums): ");
    kods = Console.ReadLine();
    
    //mekle preci
    for(int i=0; i<noliktava.GetLength(0);i++){
        for(int j=0; j<noliktava.GetLength(1);j++){
            if (noliktava[i,j]==kods){
            Console.WriteLine("Prece atrasta Eja "+i+", Plaukts "+j+"\n");   
            atrasts=true;
            break;
            }
        }
        if (atrasts==true) break;
    }
    if(atrasts==false){
        Console.WriteLine("Prece netika atrasta");
    }
}
static void AprekinatNeaizpilditas(string [,] noliktava){
    int sum=0;
    for(int i=0; i<noliktava.GetLength(0);i++){
        for(int j=0; j<noliktava.GetLength(1);j++){
            if(noliktava[i,j]==null) sum++;
            }
        }
        Console.WriteLine("Tukšo plauktu skaits: "+sum);
    }
    */
    //3. uzdevums
static void Main(){
    //šoreiz rakstīšu, kā pervoks 🗣️🗣️🗣(es neko citu nevaru izdomāt)
    int x1=PunktuKoord();
    int x2=PunktuKoord();
    int y1=PunktuKoord();
    int y2=PunktuKoord();
    AprekinatPlaknesAttalumu(x1, x2, y1, y2);
    KonvertetRadianos();
    }
static int PunktuKoord(){
    int punkts;
    do{
    Console.Write("ievadi punkta koordināti (0 - 50):");
    punkts = Convert.ToInt32(Console.ReadLine());
    }while(punkts<0 || punkts>50);
    return punkts;
}
    static void AprekinatPlaknesAttalumu (int x1, int x2, int y1, int y2){
    double attalums=Math.Sqrt(Math.Pow(x2-x1, 2) + Math.Pow(y2-y1, 2));
    Console.WriteLine("attālums: "+attalums);
    }
static void KonvertetRadianos(){
        double radiani, gradi;
        //ievada grādus
        Console.Write("Ievadi grādus: ");
        gradi = Convert.ToDouble(Console.ReadLine());
        //aprēķina radiānus
        Console.Write(gradi+" grādi ir ");
        radiani=gradi*(Math.PI/180);
        Console.Write(radiani+" radiāni.");
    }
}