Advertisement
Guest User

Untitled

a guest
Nov 17th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.23 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Laboras_3
  9. {
  10.     class Spausdintuvas
  11.     {
  12.         private string gamintojas,
  13.             modelis,
  14.             formatas;
  15.         private double sparta,
  16.             laikas,
  17.             talpa;
  18.  
  19.         public Spausdintuvas()
  20.         {
  21.             gamintojas = "";
  22.             modelis = "";
  23.             formatas = "";
  24.             sparta = 30;
  25.             laikas = 5;
  26.             talpa = 2000;
  27.         }
  28.         public Spausdintuvas(string gamintojas, string modelis, string formatas, double sparta, double laikas, double talpa)
  29.         {
  30.             this.gamintojas = gamintojas;
  31.             this.modelis = modelis;
  32.             this.formatas = formatas;
  33.             this.sparta = sparta;
  34.             this.laikas = laikas;
  35.             this.talpa = talpa;
  36.         }
  37.         public double ImtiTalpa() { return talpa; }
  38.         public string ImtiPav() { return gamintojas; }
  39.         public double ImtiSparta() { return sparta; }
  40.         public override string ToString()
  41.         {
  42.             string eilute;
  43.             eilute = string.Format("| {0, -5}          {1, -12} {2, -9}   {3, -9}  {4, -9} {5, -4} |", gamintojas, modelis, formatas, sparta, laikas, talpa);
  44.             return eilute;
  45.  
  46.         }
  47.         public static bool operator >=(Spausdintuvas Sp1, Spausdintuvas Sp2)
  48.         {
  49.  
  50.             int p = String.Compare(Sp1.gamintojas, Sp2.gamintojas, StringComparison.CurrentCulture);
  51.  
  52.             return Sp1.sparta > Sp2.sparta || Sp1.sparta == Sp2.sparta && p < 0;
  53.  
  54.         }
  55.         public static bool operator <=(Spausdintuvas Sp1, Spausdintuvas Sp2)
  56.         {
  57.             int p = String.Compare(Sp1.gamintojas, Sp2.gamintojas, StringComparison.CurrentCulture);
  58.             return Sp1.sparta > Sp2.sparta || Sp1.sparta == Sp2.sparta && p > 0;
  59.         }
  60.     }
  61.     class Aparatai
  62.     {
  63.         const int CMaxi = 100;
  64.         private Spausdintuvas[] S;
  65.         private int n;
  66.         public Aparatai()
  67.         {
  68.             n = 0;
  69.             S = new Spausdintuvas[CMaxi];
  70.         }
  71.         public Spausdintuvas Imti(int i) { return S[i]; }
  72.         public int Imti() { return n; }
  73.         public void Deti(Spausdintuvas sp) { S[n++] = sp; }
  74.         public void Rikiuoti()
  75.         {
  76.             for (int i = 0; i < n - 1; i++)
  77.             {
  78.                 Spausdintuvas min = S[i];
  79.                 int im = i;
  80.                 for (int j = i + 1; j < n; j++)
  81.                     if (S[j] <= min)
  82.  
  83.                     {
  84.                         min = S[j];
  85.                         im = j;
  86.                     }
  87.                 S[im] = S[i];
  88.                 S[i] = min;
  89.             }
  90.         }
  91.  
  92.     }
  93.     class Program
  94.     {
  95.         const string CFd = "...\\...\\Duomenys.txt";
  96.  
  97.         static void Main(string[] args)
  98.         {
  99.             Aparatai aparatai = new Aparatai();
  100.             Aparatai aparatain = new Aparatai();
  101.  
  102.             Skaityti(ref aparatai, CFd);
  103.             Spausdinti(aparatai);
  104.             Console.WriteLine(aparatai.Imti(IeskotiDidziausiostalpos(aparatai)).ImtiPav());
  105.             string gamintojas = aparatai.Imti(IeskotiDidziausiostalpos(aparatai)).ImtiPav();
  106.             Console.WriteLine(IeskoModeliuKiekio(aparatai, gamintojas));
  107.             Console.WriteLine("Iveskite sparta:");
  108.             int s = int.Parse(Console.ReadLine());
  109.  
  110.             AtrinktiAparatus(aparatain, aparatai, s);
  111.             if (aparatain.Imti() > 0)
  112.                 Spausdinti(aparatain);
  113.             else
  114.             {
  115.                 Console.WriteLine("Tokių studentų nėra");
  116.             }
  117.         }
  118.         static void Skaityti(ref Aparatai aparatai, string fv)
  119.         {
  120.             string line, gamintojas, modelis, formatas;
  121.             double sparta, laikas, talpa;
  122.             int n;
  123.             using (StreamReader reader = new StreamReader(fv))
  124.             {
  125.                 n = int.Parse(reader.ReadLine());
  126.                 for (int i = 0; i < n; i++)
  127.                 {
  128.                     line = reader.ReadLine();
  129.                     string[] parts = line.Split(';');
  130.                     gamintojas = parts[0];
  131.                     modelis = parts[1];
  132.                     formatas = parts[2];
  133.                     sparta = double.Parse(parts[3]);
  134.                     laikas = double.Parse(parts[4]);
  135.                     talpa = double.Parse(parts[5]);
  136.                     Spausdintuvas sp = new Spausdintuvas(gamintojas, modelis, formatas, sparta, laikas, talpa);
  137.                     aparatai.Deti(sp);
  138.                 }
  139.             }
  140.         }
  141.         static void Spausdinti(Aparatai aparatai)
  142.         {
  143.             string virsus = "| Gamintojas    Modelis    Formatas     Sparta     Laikas     Talpa |\r\n"
  144.                           + "|-------------------------------------------------------------------|";
  145.             Console.WriteLine(virsus);
  146.             for (int i = 0; i < aparatai.Imti(); i++)
  147.                 Console.WriteLine(aparatai.Imti(i).ToString());
  148.             Console.WriteLine("|-------------------------------------------------------------------|\r\n");
  149.         }
  150.         static int IeskotiDidziausiostalpos(Aparatai A)
  151.         {
  152.             double Max = A.Imti(0).ImtiTalpa();
  153.             int index = 0;
  154.  
  155.             for (int i = 1; i < A.Imti(); i++)
  156.             {
  157.                 if (A.Imti(i).ImtiTalpa() > Max)
  158.                 {
  159.                     Max = A.Imti(i).ImtiTalpa();
  160.                     index = i;
  161.                 }
  162.             }
  163.             return index;
  164.         }
  165.         static int IeskoModeliuKiekio(Aparatai A, string gamintojas)
  166.         {
  167.             int a = 0;
  168.             for (int i = 0; i < A.Imti(); i++)
  169.             {
  170.                 if (gamintojas == A.Imti(i).ImtiPav())
  171.                 {
  172.                     a++;
  173.  
  174.                 }
  175.  
  176.             }
  177.             return a;
  178.         }
  179.         static void AtrinktiAparatus(Aparatai An, Aparatai A, int s)
  180.         {
  181.             for (int i = 0; i < A.Imti(); i++)
  182.             {
  183.                 if (s == A.Imti(i).ImtiSparta())
  184.                 {
  185.                     An.Deti(A.Imti(i));
  186.                 }
  187.             }
  188.         }
  189.     }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement