/* Veidoja: Emīlija Anna Bukus Grupa: 110 Prakiskais darbs 7 Izmantotais Compiler: Visual Studio C# izmantotā versija - Console Apps (.NET) / Console Apps */ // Es pirmo reizi izmantoju Visual Studio, neesmu pieradusi, un viņš visādas problēmas meta ārā using System; using System.Collections.Generic; class HelloWorld { private const string PreceNavAtrasta = "Prece nav atrasta!"; static void Main(string[] args) { // 1. uzd main Console.WriteLine("Budžeta analīze"); List izdevumi = IevadietIzdevumus(); Console.Write("Ievadiet minimālo slieksni filtrēšanai: "); if (!double.TryParse(Console.ReadLine(), out double slieksnis)) { Console.WriteLine("Nederīga ievade!"); return; } List filtrs = FiltretIzdevumus(izdevumi, slieksnis); Console.WriteLine("Diapazons: " + AprekinatMainibu(filtrs)); // 2. uzd main string[,] noliktava = { { "", "A1", "A2", "A3", "A4" }, { "B1", "", "B3", "B4", "B5" }, { "C1", "C2", "", "C4", "C5" }, { "D1", "D2", "D3", "", "D5" } }; Console.Write("Ievadiet meklējamo preces kodu: "); string kods = Console.ReadLine(); Console.WriteLine(AtklatPreci(noliktava, kods)); Console.WriteLine("Tukšo plauktu skaits: " + AprekinatNeaizpilditas(noliktava)); // 3. uzd main Console.WriteLine("\nAttāluma kalkulators"); double x1 = IevadeKoordinatai("x1"); double y1 = IevadeKoordinatai("y1"); double x2 = IevadeKoordinatai("x2"); double y2 = IevadeKoordinatai("y2"); Console.WriteLine("Attālums: " + AprekinatPlaknesAttalumu(x1, y1, x2, y2)); Console.Write("Ievadiet grādus pārvēršanai radiānos: "); if (double.TryParse(Console.ReadLine(), out double gradi)) Console.WriteLine("Radiānos: " + KonvertetRadianos(gradi)); else Console.WriteLine("Nederīga ievade!"); } // 1.uzd static List IevadietIzdevumus() { List izdevumi = new List(); while (true) { Console.Write("Ievadiet izdevumu summu (vai 'gals' lai beigtu): "); string ievade = Console.ReadLine(); if (string.IsNullOrWhiteSpace(ievade) || ievade.ToLower() == "gals") break; if (double.TryParse(ievade, out double summa)) izdevumi.Add(summa); else Console.WriteLine("Nederīga ievade!"); } return izdevumi; } static List FiltretIzdevumus(List izejasDati, double slieksnis) { List filtrs = new List(); foreach (double izdevums in izejasDati) { if (izdevums >= slieksnis) filtrs.Add(izdevums); } return filtrs; } static double AprekinatMainibu(List dati) { if (dati.Count == 0) return 0; double max = double.MinValue; double min = double.MaxValue; foreach (double x in dati) { if (x > max) max = x; if (x < min) min = x; } return Math.Abs(max - min); } // 2.uzd static string AtklatPreci(string[,] masivs, string kods) { for (int eja = 0; eja < masivs.GetLength(0); eja++) { for (int plaukts = 0; plaukts < masivs.GetLength(1); plaukts++) { if (masivs[eja, plaukts] == kods) { return $"Prece atrasta Eja {eja + 1}, Plaukts {plaukts + 1}"; } } } return PreceNavAtrasta; } static int AprekinatNeaizpilditas(string[,] masivs) { int skaits = 0; for (int eja = 0; eja < masivs.GetLength(0); eja++) { for (int plaukts = 0; plaukts < masivs.GetLength(1); plaukts++) { if (string.IsNullOrEmpty(masivs[eja, plaukts])) skaits++; } } return skaits; } // 3.uzd static double AprekinatPlaknesAttalumu(double x1, double y1, double x2, double y2) { double dx = x2 - x1; double dy = y2 - y1; return Math.Sqrt(Math.Pow(dx, 2) + Math.Pow(dy, 2)); } static double KonvertetRadianos(double gradi) { return gradi * (Math.PI / 180); } static double IevadeKoordinatai(string nosaukums) { Console.Write($"Ievadiet {nosaukums}: "); if (double.TryParse(Console.ReadLine(), out double rezultats)) return rezultats; Console.WriteLine("Nederīga ievade! Tiek izmantota 0."); return 0; } }