/* Veidoja: Lana Lobza Grupa: 110 Praktiskais darbs 7 Izmantotais Compiler: www.onlinegdb.com */ using System; using System.Collections.Generic; class Program { static void Main() { // 1.uzd. Console.WriteLine("Budžeta analīze"); List izdevumi = IevadietIzdevumus(); Console.Write("Ievadiet minimālo izdevumu slieksni: "); double slieksnis = double.Parse(Console.ReadLine()); List filtretie = FiltretIzdevumus(izdevumi, slieksnis); double diapazons = AprekinatMainibu(filtretie); /* string.Join - pārvērš sarakstu (List) par vienu teksta rindu, kur visi elementi ir savienoti ar norādīto atdalītāju */ Console.WriteLine("\nFiltrētie izdevumi: " + string.Join(", ", filtretie)); Console.WriteLine("Diapazons: " + diapazons); // 2.uzd. Console.WriteLine("\nNoliktavas meklētājs"); // Noliktavas izveide (4 ejas, 5 plaukti) string[,] noliktava = { { "A1", "A2", "", "A4", "A5" }, { "B1", "B2", "B3", "", "B5" }, { "", "", "C3", "C4", "C5" }, { "D1", "", "D3", "D4", "D5" } }; Console.Write("Ievadiet meklējamo preces kodu: "); string kods = Console.ReadLine(); string atrasts = AtklatPreci(noliktava, kods); Console.WriteLine(atrasts); int tuksie = AprekinatNeaizpilditas(noliktava); Console.WriteLine("Tukšo plauktu skaits: " + tuksie); // 3.uzd. Console.WriteLine("\nAttāluma kalkulators"); Console.Write("Ievadiet x1: "); double x1 = double.Parse(Console.ReadLine()); Console.Write("Ievadiet y1: "); double y1 = double.Parse(Console.ReadLine()); Console.Write("Ievadiet x2: "); double x2 = double.Parse(Console.ReadLine()); Console.Write("Ievadiet y2: "); double y2 = double.Parse(Console.ReadLine()); double attalums = AprekinatPlaknesAttalumu(x1, y1, x2, y2); Console.WriteLine("Attālums starp punktiem: " + attalums); Console.Write("Ievadiet leņķi grādos: "); double gradi = double.Parse(Console.ReadLine()); double radiani = KonvertetRadianos(gradi); Console.WriteLine("Radiānos: " + radiani); } // 1.uzd. Budžets static List IevadietIzdevumus() { List izdevumi = new List(); Console.WriteLine("Ievadiet izdevumus (tukša rinda vai 'gals' – beigt):"); while (true) { Console.Write("> "); string ievade = Console.ReadLine().Trim(); // .Trim() noņem tukšās simbolus (whitespace) no sākuma un beigām ievadītajam tekstam. if (ievade == "" || ievade.ToLower() == "gals") break; if (double.TryParse(ievade, out double summa)) izdevumi.Add(summa); else Console.WriteLine("Nederīgs skaitlis!"); } return izdevumi; } static List FiltretIzdevumus(List izejasDati, double slieksnis) { List rezultats = new List(); foreach (double izdevums in izejasDati) { if (izdevums < slieksnis) continue; rezultats.Add(izdevums); } return rezultats; } static double AprekinatMainibu(List dati) { if (dati.Count == 0) return 0; double min = double.MaxValue; double max = double.MinValue; foreach (double x in dati) { if (x < min) min = x; if (x > max) max = x; } return Math.Abs(max - min); } // 2.uzd. Noliktavas meklēšana static string AtklatPreci(string[,] masivs, string kods) { bool atrasts = false; int eja = -1, plaukts = -1; for (int i = 0; i < masivs.GetLength(0); i++) { for (int j = 0; j < masivs.GetLength(1); j++) { if (masivs[i, j] == kods) { atrasts = true; eja = i; plaukts = j; break; } } if (atrasts) break; } if (atrasts) return $"Prece atrasta: Eja {eja}, Plaukts {plaukts}"; else return "Prece netika atrasta!"; } static int AprekinatNeaizpilditas(string[,] masivs) { int skaits = 0; for (int i = 0; i < masivs.GetLength(0); i++) { for (int j = 0; j < masivs.GetLength(1); j++) { if (masivs[i, j] == "" || masivs[i, j] == null) skaits++; } } return skaits; } // 3.uzd. Attāluma kalkulators 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.0); } }