using System; using System.Collections.Generic; class Program { static void Main() { // 1. UZDEVUMS – MENESA BUDEZTS // Virsraksts konsoles loga Console.WriteLine("Menesa budzeta analize"); // Lietotajs ievada visus izdevumus List izdevumi = IevadietIzdevumus(); // Minimalais slieksnis, zem kura izdevumi netiek skaititi Console.Write("Ievadiet minimalo izdevumu slieksni: "); double slieksnis = double.Parse(Console.ReadLine()); // Filtre izdevumus pec slieksna List filtreti = FiltretIzdevumus(izdevumi, slieksnis); // Ja ir vismaz viens derigs izdevums if (filtreti.Count > 0) { // Aprrekina starpibu starp lielako un mazako izdevumu double diapazons = AprekinatMainibu(filtreti); Console.WriteLine($"Izdevumu diapazons: {diapazons:F2}"); } else { Console.WriteLine("Nav izdevumu virs slieksna."); } // 2. UZDEVUMS – NOLIKTAVA Console.WriteLine("\n=== Noliktavas mekleetajs ==="); // Divdimensiju masivs: ejas un plaukti string[,] noliktava = { { "A12", "B34", "", "C56", "D78" }, { "E90", "", "F12", "G34", "" }, { "H56", "I78", "J90", "", "K12" }, { "", "L34", "M56", "N78", "O90" } }; // Preces koda ievade Console.Write("Ievadiet mekleejamo preces kodu: "); string kods = Console.ReadLine(); // Mekle preci noliktava Console.WriteLine(AtklatPreci(noliktava, kods)); // Saskaita, cik plaukti ir tuksi int tuksi = AprekinatNeaizpilditas(noliktava); Console.WriteLine($"Tukso plauktu skaits: {tuksi}"); // 3. UZDEVUMS – MATEMATIKA Console.WriteLine("\n=== Attaluma kalkulators ==="); // Pirma punkta koordinatas Console.Write("x1: "); double x1 = double.Parse(Console.ReadLine()); Console.Write("y1: "); double y1 = double.Parse(Console.ReadLine()); // Otra punkta koordinatas Console.Write("x2: "); double x2 = double.Parse(Console.ReadLine()); Console.Write("y2: "); double y2 = double.Parse(Console.ReadLine()); // Aprrekina attalumu starp diviem punktiem double attalums = AprekinatPlaknesAttalumu(x1, y1, x2, y2); Console.WriteLine($"Attalums starp punktiem: {attalums:F2}"); // Lenka konvertesana no gradiem uz radianiem Console.Write("Ievadiet lenki grados: "); double gradi = double.Parse(Console.ReadLine()); double radiani = KonvertetRadianos(gradi); Console.WriteLine($"Radianos: {radiani:F4}"); } // 1. UZDEVUMA METODES // Ievada izdevumus lidz tuksa rinda vai "gals" static List IevadietIzdevumus() { List izdevumi = new List(); Console.WriteLine("Ievadiet izdevumus (tuksa rinda vai 'gals' – beigt):"); while (true) { string ievade = Console.ReadLine(); // Partrauc ievadi, ja nav teksta vai ievadits "gals" if (string.IsNullOrWhiteSpace(ievade) || ievade.ToLower() == "gals") break; // Ja ievade ir skaitlis, pievieno sarakstam if (double.TryParse(ievade, out double summa)) izdevumi.Add(summa); } return izdevumi; } // Atstaj tikai tos izdevumus, kas ir lielaki vai vienadi ar slieksni static List FiltretIzdevumus(List izejasDati, double slieksnis) { List filtreti = new List(); foreach (double izdevums in izejasDati) { // Ja izdevums ir par mazu, izlaiž iteraciju if (izdevums < slieksnis) continue; filtreti.Add(izdevums); } return filtreti; } // Aprrekina diapazonu: max - min static double AprekinatMainibu(List dati) { double min = dati[0]; double max = dati[0]; foreach (double d in dati) { if (d < min) min = d; if (d > max) max = d; } // Absoluta vertiba, lai rezultats butu pozitivs return Math.Abs(max - min); } // 2. UZDEVUMA METODES // Mekle preci noliktavas masiva static string AtklatPreci(string[,] masivs, string kods) { int ejas = masivs.GetLength(0); int plaukti = masivs.GetLength(1); bool atrasts = false; int atrEja = -1; int atrPlaukts = -1; // Ligzdoti cikli ejam un plauktiem for (int i = 0; i < ejas; i++) { for (int j = 0; j < plaukti; j++) { if (masivs[i, j] == kods) { atrasts = true; atrEja = i + 1; // +1, lai sakas no 1 atrPlaukts = j + 1; break; // Partrauc ieksejo ciklu } } if (atrasts) break; // Partrauc arejo ciklu } if (atrasts) return $"Prece atrasta Eja {atrEja}, Plaukts {atrPlaukts}"; else return "Prece nav atrasta noliktava."; } // Saskaita tukšos plauktus static int AprekinatNeaizpilditas(string[,] masivs) { int skaits = 0; foreach (string prece in masivs) { // Tuksa virkne vai null nozime, ka plaukts ir tukss if (string.IsNullOrEmpty(prece)) skaits++; } return skaits; } // 3. UZDEVUMA METODES // Aprrekina attalumu starp diviem punktiem plakne static double AprekinatPlaknesAttalumu(double x1, double y1, double x2, double y2) { double dx = Math.Pow(x2 - x1, 2); // (x2 - x1)^2 double dy = Math.Pow(y2 - y1, 2); // (y2 - y1)^2 return Math.Sqrt(dx + dy); // Kvadratsakne } // Konverte gradius uz radianiem static double KonvertetRadianos(double gradi) { return gradi * Math.PI / 180.0; } }