Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace testk2
- {
- public class Auto
- {
- public string Gamintojas { get; set; }
- public string Modelis { get; set; }
- public double Kaina { get; set; }
- public Auto(string Gamintojas, string Modelis, double Kaina)
- {
- this.Gamintojas = Gamintojas;
- this.Modelis = Modelis;
- this.Kaina = Kaina;
- }
- public Auto() { }
- public override string ToString()
- {
- string eilute;
- eilute = string.Format("Gamintojas: {0, -20} Modelis: {1, -20} Kaina: {2,7}",
- Gamintojas,Modelis,Kaina);
- return eilute;
- }
- static public bool operator >(Auto pirmas, Auto antras)
- {
- int p = String.Compare(pirmas.Modelis,antras.Modelis);
- if (pirmas.Kaina > pirmas.Kaina) return true;
- else if (p>0) return true;
- return false;
- }
- static public bool operator <(Auto pirmas, Auto antras)
- {
- return !(pirmas > antras);
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace testk2
- {
- public sealed class Mazgas
- {
- public Auto AutoMob { get; set; }
- public Mazgas Kitas { get; set; }
- public Mazgas(Auto automob, Mazgas kitas)
- {
- AutoMob = automob;
- Kitas = kitas;
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace testk2
- {
- public sealed class Modeliai
- {
- private Mazgas pr; // sąrašo pradžia
- private Mazgas pb; // sąrašo pabaiga
- public Modeliai()
- {
- this.pr = null;
- this.pb = null;
- }
- public Mazgas Imti()
- { return pr; }
- public void Deti(Auto automob) //pridėjimas studento arba dėstytojo
- {
- var dd = new Mazgas(automob, null);
- if (pr != null)
- {
- pb.Kitas = dd;
- pb = dd;
- }
- else
- {
- pr = dd;
- pb = dd;
- }
- }
- public void Rikiuoti()
- {
- if (pr == null) { return; }
- bool keista = true;
- while (keista)
- {
- keista = false;
- var pra = pr;
- while (pra.Kitas != null)
- {
- if (pra.AutoMob > pra.Kitas.AutoMob)
- {
- Auto At = pra.AutoMob;
- pra.AutoMob = pra.Kitas.AutoMob;
- pra.Kitas.AutoMob = At;
- keista = true;
- }
- pra = pra.Kitas;
- }
- }
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace testk2
- {
- class Program
- {
- static void Main(string[] args)
- {
- Modeliai Ar = new Modeliai();
- Modeliai Br = new Modeliai();
- string file = "..//..//Duomenys.txt";
- string Rezultatai = "..//..//Rezultatai.txt";
- Nuskaitymas(Ar, file);
- if (System.IO.File.Exists(Rezultatai)) System.IO.File.Delete(Rezultatai);
- PrintToFile(Ar, Rezultatai);
- Atrinkimas(Ar, Br);
- PrintToFile(Br, Rezultatai);
- Br.Rikiuoti();
- PrintToFile(Br, Rezultatai);
- }
- public static void Nuskaitymas(Modeliai model, string file)
- {
- string line;
- using (var fv = new System.IO.StreamReader(file, Encoding.GetEncoding(1257)))
- {
- while ((line = fv.ReadLine()) != null)
- {
- var values = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
- string gam = values[0];
- string mod = values[1];
- double kaina = Convert.ToDouble(values[2]);
- var auto = new Auto(gam, mod, kaina);
- model.Deti(auto);
- }
- }
- }
- public static void Atrinkimas(Modeliai model, Modeliai atrinkti)
- {
- Auto max = Max(model);
- double skirtumas = max.Kaina / 4;
- for (Mazgas d = model.Imti(); d != null; d = d.Kitas)
- {
- if ((max.Kaina - d.AutoMob.Kaina) <= skirtumas)
- {
- if (max != d.AutoMob)
- atrinkti.Deti(d.AutoMob);
- }
- }
- }
- public static Auto Max(Modeliai model)
- {
- Auto max = model.Imti().AutoMob;
- for (Mazgas d = model.Imti(); d != null; d = d.Kitas)
- {
- if (max.Kaina < d.AutoMob.Kaina) max = d.AutoMob;
- }
- return max;
- }
- public static void PrintToFile(Modeliai print, string file)
- {
- string bruksnys = new string('-', 54);
- using (System.IO.StreamWriter fd = System.IO.File.AppendText(file))
- {
- fd.WriteLine("|{0,-20}|{1,-20}|{2,-10}|", "Gamintojas", "Modelis", "Kaina");
- fd.WriteLine(bruksnys);
- for (Mazgas d = print.Imti(); d != null; d = d.Kitas)
- {
- fd.WriteLine("|{0,-20}|{1,-20}|{2,-10}|", d.AutoMob.Gamintojas, d.AutoMob.Modelis, d.AutoMob.Kaina);
- fd.WriteLine(bruksnys);
- }
- fd.WriteLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement