using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; namespace Laboras_3 { class Spausdintuvas { private string gamintojas, modelis, formatas; private double sparta, laikas, talpa; public Spausdintuvas() { gamintojas = ""; modelis = ""; formatas = ""; sparta = 30; laikas = 5; talpa = 2000; } public Spausdintuvas(string gamintojas, string modelis, string formatas, double sparta, double laikas, double talpa) { this.gamintojas = gamintojas; this.modelis = modelis; this.formatas = formatas; this.sparta = sparta; this.laikas = laikas; this.talpa = talpa; } public double ImtiTalpa() { return talpa; } public string ImtiPav() { return gamintojas; } public double ImtiSparta() { return sparta; } public override string ToString() { string eilute; eilute = string.Format("| {0, -5} {1, -12} {2, -9} {3, -9} {4, -9} {5, -4} |", gamintojas, modelis, formatas, sparta, laikas, talpa); return eilute; } public static bool operator >=(Spausdintuvas Sp1, Spausdintuvas Sp2) { int p = String.Compare(Sp1.gamintojas, Sp2.gamintojas, StringComparison.CurrentCulture); return Sp1.sparta > Sp2.sparta || Sp1.sparta == Sp2.sparta && p < 0; } public static bool operator <=(Spausdintuvas Sp1, Spausdintuvas Sp2) { int p = String.Compare(Sp1.gamintojas, Sp2.gamintojas, StringComparison.CurrentCulture); return Sp1.sparta > Sp2.sparta || Sp1.sparta == Sp2.sparta && p > 0; } } class Aparatai { const int CMaxi = 100; private Spausdintuvas[] S; private int n; public Aparatai() { n = 0; S = new Spausdintuvas[CMaxi]; } public Spausdintuvas Imti(int i) { return S[i]; } public int Imti() { return n; } public void Deti(Spausdintuvas sp) { S[n++] = sp; } public void Rikiuoti() { for (int i = 0; i < n - 1; i++) { Spausdintuvas min = S[i]; int im = i; for (int j = i + 1; j < n; j++) if (S[j] <= min) { min = S[j]; im = j; } S[im] = S[i]; S[i] = min; } } } class Program { const string CFd = "...\\...\\Duomenys.txt"; static void Main(string[] args) { Aparatai aparatai = new Aparatai(); Aparatai aparatain = new Aparatai(); Skaityti(ref aparatai, CFd); Spausdinti(aparatai); Console.WriteLine(aparatai.Imti(IeskotiDidziausiostalpos(aparatai)).ImtiPav()); string gamintojas = aparatai.Imti(IeskotiDidziausiostalpos(aparatai)).ImtiPav(); Console.WriteLine(IeskoModeliuKiekio(aparatai, gamintojas)); Console.WriteLine("Iveskite sparta:"); int s = int.Parse(Console.ReadLine()); AtrinktiAparatus(aparatain, aparatai, s); if (aparatain.Imti() > 0) Spausdinti(aparatain); else { Console.WriteLine("Tokių studentų nėra"); } } static void Skaityti(ref Aparatai aparatai, string fv) { string line, gamintojas, modelis, formatas; double sparta, laikas, talpa; int n; using (StreamReader reader = new StreamReader(fv)) { n = int.Parse(reader.ReadLine()); for (int i = 0; i < n; i++) { line = reader.ReadLine(); string[] parts = line.Split(';'); gamintojas = parts[0]; modelis = parts[1]; formatas = parts[2]; sparta = double.Parse(parts[3]); laikas = double.Parse(parts[4]); talpa = double.Parse(parts[5]); Spausdintuvas sp = new Spausdintuvas(gamintojas, modelis, formatas, sparta, laikas, talpa); aparatai.Deti(sp); } } } static void Spausdinti(Aparatai aparatai) { string virsus = "| Gamintojas Modelis Formatas Sparta Laikas Talpa |\r\n" + "|-------------------------------------------------------------------|"; Console.WriteLine(virsus); for (int i = 0; i < aparatai.Imti(); i++) Console.WriteLine(aparatai.Imti(i).ToString()); Console.WriteLine("|-------------------------------------------------------------------|\r\n"); } static int IeskotiDidziausiostalpos(Aparatai A) { double Max = A.Imti(0).ImtiTalpa(); int index = 0; for (int i = 1; i < A.Imti(); i++) { if (A.Imti(i).ImtiTalpa() > Max) { Max = A.Imti(i).ImtiTalpa(); index = i; } } return index; } static int IeskoModeliuKiekio(Aparatai A, string gamintojas) { int a = 0; for (int i = 0; i < A.Imti(); i++) { if (gamintojas == A.Imti(i).ImtiPav()) { a++; } } return a; } static void AtrinktiAparatus(Aparatai An, Aparatai A, int s) { for (int i = 0; i < A.Imti(); i++) { if (s == A.Imti(i).ImtiSparta()) { An.Deti(A.Imti(i)); } } } } }