/// <summary> /// Suranda ar visu grupiu studentai pasirinko sio destytojo modulius /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <returns></returns> static bool ArVisuPasirinko(Sarasas1 Studentai, Sarasas2 Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde) { for (Mazgas2 g = Destytojai.GautiPirma(); g != null; g = g.Kitas) { if ((destytojasMaxVardas == g.DuomDest.vardas) && (destytojasMaxPavarde == g.DuomDest.pavarde)) { string modulis = g.DuomDest.modulis; for (Mazgas1 d = Studentai.GautiPirma(); d != null; d = d.Kitas) { if (modulis == d.DuomStud.modulis) { int visi = 0; int ne = 0; for (Mazgas1 d2 = d; d2 != null; d2 = d2.Kitas) { if (d.DuomStud.grupe == d2.DuomStud.grupe) { visi += 1; if (d2.DuomStud.modulis != modulis) { ne += 1; } } } if (ne == visi) { return(false); } } } } } return(true); }
public void DetiDuomenis2T(Destytojas naujas) { var dd = new Mazgas2(naujas, null); if (pr != null) { pb.Kitas = dd; pb = dd; } else { pr = dd; pb = dd; } }
/// <summary> /// suranda grupes, kuriu bent vienas studentas nepasirinko sio destytojo modulio /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <param name="fr">rezultatu failas</param> public void GrupesKurNepasirinko(Sarasas1 Studentai, Sarasas2 Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde, string fr) { Sarasas1 StudentaiGR = new Sarasas1(); StudentaiGR = Studentai; //rusiuoja pagal grupes, pavardes ir vardus //jei grupej yra nors vienas nepasirinkes modulio, atspauszinti //jei visa grupe pasirinkusi ta moduli, pasalinti grupe for (Mazgas2 g = Destytojai.GautiPirma(); g != null; g = g.Kitas) { if ((destytojasMaxVardas == g.DuomDest.vardas) && (destytojasMaxPavarde == g.DuomDest.pavarde)) { string modulis = g.DuomDest.modulis; for (Mazgas1 d = Studentai.GautiPirma(); d != null; d = d.Kitas) { if (modulis == d.DuomStud.modulis) { int visi = 0; int ne = 0; string grupe = ""; for (Mazgas1 d2 = d; d2 != null; d2 = d2.Kitas) { if (d.DuomStud.grupe == d2.DuomStud.grupe) { visi += 1; if (d2.DuomStud.modulis == modulis) { ne += 1; grupe = d.DuomStud.grupe; } } } if (ne == visi) { SalintiGrupe(StudentaiGR, grupe); } } } } } Rikiuoti(StudentaiGR); SpausdintiGrupes(StudentaiGR, fr); }
/// <summary> /// spausdina gautus rezultatus /// </summary> /// <param name="Studentai">studentu sarasas</param> /// <param name="Destytojai">destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> /// <param name="fr">rezultatu failas</param> public void SpausdintiRezultatus(Sarasas1 Studentai, Sarasas2 Destytojai, string destytojasMaxVardas, string destytojasMaxPavarde, string fr) { using (var writer = File.AppendText(fr)) { //--- pradiniu doumenu spausdinimas writer.WriteLine("--------------PRADINIAI-DUOMENYS------------------"); writer.WriteLine(); writer.WriteLine("---------Studentu-duomenu-failas--------"); for (Mazgas1 d = Studentai.GautiPirma(); d != null; d = d.Kitas) { writer.WriteLine(d.DuomStud.ToString()); } writer.WriteLine(); writer.WriteLine("---------Destytoju-duomenu-failas--------"); for (Mazgas2 d = Destytojai.GautiPirma(); d != null; d = d.Kitas) { writer.WriteLine(d.DuomDest.ToString1()); } writer.WriteLine("-------------------------------------------------"); writer.WriteLine(); //--------- writer.WriteLine(); writer.WriteLine("Daugiausiai pasirinktu moduliu turi destytojas - {0} {1}", destytojasMaxVardas, destytojasMaxPavarde); Label1.Text = "Daugiausiai pasirinktu moduliu turi destytojas - " + destytojasMaxVardas + " " + destytojasMaxPavarde; writer.WriteLine(); if (ArVisuPasirinko(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde)) { writer.WriteLine("Nevisu grupiu studentai pasirinko sio destytojo modulius."); Label2.Text = "Visu grupiu studentai pasirinko sio destytojo modulius."; } if (!ArVisuPasirinko(Studentai, Destytojai, destytojasMaxVardas, destytojasMaxPavarde)) { writer.WriteLine("Ne visu grupiu studentai pasirinko sio destytojo modulius."); Label2.Text = "Ne visu grupiu studentai pasirinko sio destytojo modulius."; } } }
/// <summary> /// suranda destytoja, turinti daugiausiai moduliu /// </summary> /// <param name="Studentai">Studentu sarasas</param> /// <param name="Destytojai">Destytoju sarasas</param> /// <param name="destytojasMaxVardas">daugiausiai moduliu turincio destytojo vardas</param> /// <param name="destytojasMaxPavarde">daugiausiai moduliu turincio destytojo pavarde</param> static void DestytojasMaxMod(Sarasas1 Studentai, Sarasas2 Destytojai, out string destytojasMaxVardas, out string destytojasMaxPavarde) { int max = 0; destytojasMaxVardas = null; destytojasMaxPavarde = null; for (Mazgas2 g = Destytojai.GautiPirma(); g != null; g = g.Kitas) { int laik = 0; for (Mazgas1 d = Studentai.GautiPirma(); d != null; d = d.Kitas) { if (g.DuomDest.modulis == d.DuomStud.modulis) { laik += 1; } } if (max < laik) { destytojasMaxVardas = g.DuomDest.vardas; destytojasMaxPavarde = g.DuomDest.pavarde; max = laik; } } }
private Mazgas2 d; //saraso sasajai public Sarasas2() { this.pr = null; this.pb = null; this.d = null; }
public Mazgas2(Destytojas ds, Mazgas2 adr) { DuomDest = ds; Kitas = adr; }