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;
- using System.IO;
- using System.Threading;
- namespace OP2_K1_try
- {
- class Studentas
- {
- public string Pavarde { get; set; }
- public string Vardas { get; set; }
- public string Grupe { get; set; }
- public int[] Kreditai { get; set; }
- public Studentas(string pavarde, string vardas, string grupe, int[] kreditai)
- {
- Pavarde = pavarde;
- Vardas = vardas;
- Grupe = Grupe;
- Kreditai = kreditai;
- }
- public int KredituSuma()
- {
- int sum = 0;
- for (int i = 0; i < Kreditai.Length; i++)
- {
- sum += Kreditai[i];
- }
- return sum;
- }
- public static bool operator < (Studentas lhs, Studentas rhs)
- {
- if (lhs.Grupe != null && rhs.Grupe != null)
- {
- if (String.Compare(lhs.Grupe, rhs.Grupe) < 0)
- {
- return true;
- }
- else if (String.Compare(lhs.Grupe, rhs.Grupe) == 0)
- {
- if (String.Compare(lhs.Pavarde, rhs.Pavarde) < 0)
- {
- return true;
- }
- else return false;
- }
- else
- return false;
- }
- else
- return false;
- }
- public static bool operator >(Studentas lhs, Studentas rhs)
- {
- if (lhs.Grupe != null && rhs.Grupe != null)
- {
- if (String.Compare(lhs.Grupe, rhs.Grupe) > 0)
- {
- return true;
- }
- else if (String.Compare(lhs.Grupe, rhs.Grupe) == 0)
- {
- if (String.Compare(lhs.Pavarde, rhs.Pavarde) > 0)
- {
- return true;
- }
- else return false;
- }
- else
- return false;
- }
- else
- return false;
- }
- }
- class Fakultetas
- {
- private const int MaxSkaiciusStudentu = 30;
- private string FakultetoPavadinimas { get; set; }
- private int KredituSkaicius { get; set; }
- private int ModuliuSkaicius { get; set; }
- private Studentas[] Studentai;
- public int Count { get; private set; }
- public Fakultetas(string fakPav, int kredSkc, int modSkc)
- {
- FakultetoPavadinimas = fakPav;
- KredituSkaicius = kredSkc;
- ModuliuSkaicius = modSkc;
- Studentai = new Studentas[MaxSkaiciusStudentu];
- }
- public void PridetiStudenta(Studentas stud)
- {
- Studentai[Count] = stud;
- Count++;
- }
- public Studentas GautiStudenta(int index)
- {
- return Studentai[index];
- }
- public void NustatytiStudenta(int index, Studentas stud)
- {
- Studentai[index] = stud;
- }
- public string GautiPavadinima()
- {
- return FakultetoPavadinimas;
- }
- public int GautiKredituSkaiciu()
- {
- return KredituSkaicius;
- }
- public int GautiModuliuSkaicius()
- {
- return ModuliuSkaicius;
- }
- public static void RikiuotiBurbulas(Fakultetas fak)
- {
- Studentas temp;
- for (int i = 0; i < fak.Count-1; i++)
- {
- for (int j = 0; j < fak.Count-i-1; j++)
- {
- if (fak.GautiStudenta(i) > fak.GautiStudenta(j))
- {
- temp = fak.GautiStudenta(i);
- fak.NustatytiStudenta(i,fak.GautiStudenta(j));
- fak.NustatytiStudenta(j, temp);
- }
- }
- }
- }
- public static void RikiuotiIsrinkimas(Fakultetas fak)
- {
- Studentas temp;
- int min;
- for (int i = 0; i < fak.Count-1; i++)
- {
- min = i;
- for (int j = i + 1 ; j < fak.Count; j++)
- {
- if (fak.GautiStudenta(j) > fak.GautiStudenta(min))
- {
- min = j;
- }
- }
- temp = fak.GautiStudenta(i);
- fak.NustatytiStudenta(i, fak.GautiStudenta(min));
- fak.NustatytiStudenta(min, temp);
- }
- }
- public static bool operator <(Fakultetas lhs, Fakultetas rhs)
- {
- if (lhs.KredituSkaicius < rhs.KredituSkaicius)
- {
- return true;
- }
- else
- return false;
- }
- public static bool operator >(Fakultetas lhs, Fakultetas rhs)
- {
- if (lhs.Count > rhs.Count)
- {
- return true;
- }
- else
- return false;
- }
- public static bool operator ==(Fakultetas lhs, Fakultetas rhs)
- {
- if (lhs.Count == rhs.Count)
- {
- return true;
- }
- else
- return false;
- }
- public static bool operator !=(Fakultetas lhs, Fakultetas rhs)
- {
- if (lhs.Count != rhs.Count)
- {
- return true;
- }
- else
- return false;
- }
- }
- class Program
- {
- public const int MaxModuliuSkaicius = 10;
- static void Main(string[] args)
- {
- string data1 = @"../../Fakultetas1.txt";
- string data2 = @"../../Fakultetas2.txt";
- string result = @"../../Rezultatas.txt";
- Fakultetas pirmas = Skaitymas(data1);
- Fakultetas antras = Skaitymas(data2);
- Fakultetas filtruotasPirmas = AtrinktiVirsijancius(pirmas);
- Fakultetas filtruotasAntras = AtrinktiVirsijancius(antras);
- Rasymas(pirmas, antras, filtruotasPirmas, filtruotasAntras, result);
- Console.ReadKey();
- }
- static Fakultetas Skaitymas(string data)
- {
- string[] Duomenys = File.ReadAllLines(data);
- string[] FakultetoInfo = Duomenys[1].Split(' ');
- Fakultetas fak = new Fakultetas(FakultetoInfo[0], int.Parse(FakultetoInfo[1]), int.Parse(FakultetoInfo[2]));
- for (int i = 1; i < Duomenys.Length; i++)
- {
- string[] StudentoDuomenys = Duomenys[i].Split(' ');
- string pavarde = StudentoDuomenys[0];
- string vardas = StudentoDuomenys[1];
- string grupe = StudentoDuomenys[2];
- int[] kreditai = new int[MaxModuliuSkaicius];
- for (int j = 3; j < StudentoDuomenys.Length; j++)
- {
- int k = 0;
- kreditai[k] = int.Parse(StudentoDuomenys[j]);
- k++;
- }
- Studentas stud = new Studentas(pavarde, vardas, grupe, kreditai);
- fak.PridetiStudenta(stud);
- }
- return fak;
- }
- static Fakultetas AtrinktiVirsijancius(Fakultetas fak)
- {
- Fakultetas filtruotas = new Fakultetas(fak.GautiPavadinima(), fak.GautiKredituSkaiciu(), fak.GautiModuliuSkaicius());
- for (int i = 0; i < fak.Count; i++)
- {
- if (fak.GautiStudenta(i).KredituSuma() > fak.GautiKredituSkaiciu())
- {
- filtruotas.PridetiStudenta(fak.GautiStudenta(i));
- }
- }
- return filtruotas;
- }
- static string KurisDaugiau(Fakultetas lhs, Fakultetas rhs)
- {
- if (lhs > rhs)
- {
- return "Pirmas fakultetas turi daugiau studentu virsijanciu maksimalu fakulteto kreditu skaiciu";
- }
- else if (lhs < rhs)
- {
- return "Antras fakultetas turi daugiau studentu virsijanciu maksimalu fakulteto kreditu skaiciu";
- }
- else
- {
- return "Abu fakultetai turi vienodai studentu virsijanciu maksimalu fakulteto kreditu skaiciu";
- }
- }
- static void Rasymas(Fakultetas Pirmas, Fakultetas Antras, Fakultetas filtruotasPirmas, Fakultetas filtruotasAntras, string rezultatas)
- {
- using (StreamWriter w = new StreamWriter(rezultatas))
- {
- w.WriteLine("Pradiniai duomenys:");
- w.WriteLine("");
- w.WriteLine("{0}", Pirmas.GautiPavadinima());
- for (int i = 0; i < Pirmas.Count; i++)
- {
- w.Write("| {0} | {1} | {2} | ", Pirmas.GautiStudenta(i).Pavarde, Pirmas.GautiStudenta(i).Vardas, Pirmas.GautiStudenta(i).Grupe);
- for (int j = 0; j < Pirmas.GautiStudenta(i).Kreditai.Length; j++)
- {
- w.Write("{0} | ", Pirmas.GautiStudenta(i).Kreditai[j]);
- }
- w.WriteLine("");
- }
- w.WriteLine("{0}", Antras.GautiPavadinima());
- for (int i = 0; i < Pirmas.Count; i++)
- {
- w.Write("| {0} | {1} | {2} | ", Antras.GautiStudenta(i).Pavarde, Antras.GautiStudenta(i).Vardas, Antras.GautiStudenta(i).Grupe);
- for (int j = 0; j < Antras.GautiStudenta(i).Kreditai.Length; j++)
- {
- w.Write("{0} | ", Antras.GautiStudenta(i).Kreditai[j]);
- }
- w.WriteLine("");
- }
- w.WriteLine("Rezultatai");
- w.WriteLine("");
- w.WriteLine(KurisDaugiau(filtruotasPirmas, filtruotasAntras));
- w.WriteLine("");
- for (int i = 0; i < filtruotasPirmas.Count; i++)
- {
- w.Write("| {0} | {1} | {2} | ", filtruotasPirmas.GautiStudenta(i).Pavarde, filtruotasPirmas.GautiStudenta(i).Vardas, filtruotasPirmas.GautiStudenta(i).Grupe);
- for (int j = 0; j < filtruotasPirmas.GautiStudenta(i).Kreditai.Length; j++)
- {
- w.Write("{0} | ", filtruotasPirmas.GautiStudenta(i).Kreditai[j]);
- }
- w.WriteLine("");
- }
- w.WriteLine("{0}", filtruotasAntras.GautiPavadinima());
- for (int i = 0; i < Pirmas.Count; i++)
- {
- w.Write("| {0} | {1} | {2} | ", filtruotasAntras.GautiStudenta(i).Pavarde, filtruotasAntras.GautiStudenta(i).Vardas, filtruotasAntras.GautiStudenta(i).Grupe);
- for (int j = 0; j < filtruotasAntras.GautiStudenta(i).Kreditai.Length; j++)
- {
- w.Write("{0} | ", filtruotasAntras.GautiStudenta(i).Kreditai[j]);
- }
- w.WriteLine("");
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement