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.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.IO;
- public partial class Forma1 : System.Web.UI.Page
- {
- public const int SpalvuKiekis = 50;
- protected void Page_Load(object sender, EventArgs e)
- {
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- string[] failai = Directory.GetFiles(Server.MapPath("App_Data"));
- Sarasas taskai;
- string[] spalvos;
- Skaitymas(failai, out taskai, out spalvos);
- Sarasas[] didziausiTrikampiai;
- double[] didziausiPerimetrai;
- DidziausiTrikampiai(taskai, spalvos, out didziausiTrikampiai, out didziausiPerimetrai);
- Spausdinimas(taskai, spalvos, didziausiTrikampiai, didziausiPerimetrai);
- }
- protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
- {
- }
- protected void Skaitymas(string[] failai, out Sarasas taskai, out string[] spalvos)
- {
- taskai = new Sarasas();
- spalvos = new string[SpalvuKiekis];
- foreach (string failas in failai)
- {
- if (failas.Contains("U5a.txt"))
- {
- using (StreamReader skaitymas = new StreamReader(failas))
- {
- int n = int.Parse(skaitymas.ReadLine());
- for (int i = 0; i < n; i++)
- {
- string[] duomenys = skaitymas.ReadLine().Split(';');
- string spalva = duomenys[0];
- int x = int.Parse(duomenys[1]);
- int y = int.Parse(duomenys[2]);
- Taskas taskas = new Taskas(spalva, x, y);
- taskai.DėtiDuomenisT(taskas);
- }
- }
- }
- else
- {
- string eilute = null;
- int k = 0;
- using (StreamReader skaitymas = new StreamReader(failas))
- {
- while ((eilute = skaitymas.ReadLine()) != null)
- {
- k++;
- }
- }
- spalvos = new string[k];
- k = 0;
- using (StreamReader skaitymas = new StreamReader(failas))
- {
- while ((eilute = skaitymas.ReadLine()) != null)
- {
- spalvos[k++] = eilute;
- }
- }
- }
- }
- }
- protected void DidziausiTrikampiai(Sarasas taskai, string[] spalvos, out Sarasas[] didziausiTrikampiai, out double[] didziausiPerimetrai)
- {
- int kiekis = 0;
- didziausiPerimetrai = new double[spalvos.Length];
- didziausiTrikampiai = new Sarasas[spalvos.Length];
- foreach (string spalva in spalvos)
- {
- Taskas[] tinkamosSpalvos = new Taskas[taskai.taskuKiekis];
- int kiekis2 = 0;
- string[] dalys = spalva.Split(';');
- for (taskai.Pradžia(); taskai.Yra(); taskai.Kitas())
- {
- if(dalys[1].ToLower() == "taip" && taskai.ImtiDuomenis().Spalva.ToLower() == dalys[0].ToLower())
- {
- tinkamosSpalvos[kiekis2++] = taskai.ImtiDuomenis();
- }
- }
- double didziausiasPerimetras = 0;
- Sarasas didziausiasTrikampis = null;
- for(int i = 0; i < kiekis2; i++)
- {
- for(int j = 0; j < kiekis2 && j != i; j++)
- {
- for(int k = 0; k < kiekis2 && k != i && k != j; k++)
- {
- double krastine1 = Math.Sqrt(Math.Pow(tinkamosSpalvos[i].X - tinkamosSpalvos[j].X, 2) + Math.Pow(tinkamosSpalvos[i].Y - tinkamosSpalvos[j].Y, 2));
- double krastine2 = Math.Sqrt(Math.Pow(tinkamosSpalvos[i].X - tinkamosSpalvos[k].X, 2) + Math.Pow(tinkamosSpalvos[i].Y - tinkamosSpalvos[k].Y, 2));
- double krastine3 = Math.Sqrt(Math.Pow(tinkamosSpalvos[j].X - tinkamosSpalvos[k].X, 2) + Math.Pow(tinkamosSpalvos[j].Y - tinkamosSpalvos[k].Y, 2));
- ListBox1.Items.Add(string.Format("{0} {1} {2}", krastine1, krastine2, krastine3));
- ListBox1.Items.Add("");
- if(krastine1 == krastine2)
- {
- if(krastine1 != krastine3)
- {
- double Perimetras = krastine1 + krastine2 + krastine3;
- if(Perimetras > didziausiasPerimetras)
- {
- didziausiasPerimetras = Perimetras;
- didziausiasTrikampis = new Sarasas();
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[i]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[j]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[k]);
- }
- }
- }
- else if(krastine1 == krastine3)
- {
- if(krastine1 != krastine2)
- {
- double Perimetras = krastine1 + krastine2 + krastine3;
- if (Perimetras > didziausiasPerimetras)
- {
- didziausiasPerimetras = Perimetras;
- didziausiasTrikampis = new Sarasas();
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[i]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[j]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[k]);
- }
- }
- }
- else if(krastine2 == krastine3)
- {
- if(krastine1 != krastine2)
- {
- double Perimetras = krastine1 + krastine2 + krastine3;
- if (Perimetras > didziausiasPerimetras)
- {
- didziausiasPerimetras = Perimetras;
- didziausiasTrikampis = new Sarasas();
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[i]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[j]);
- didziausiasTrikampis.DėtiDuomenisT(tinkamosSpalvos[k]);
- }
- }
- }
- }
- }
- }
- didziausiPerimetrai[kiekis] = didziausiasPerimetras;
- didziausiTrikampiai[kiekis++] = didziausiasTrikampis;
- }
- }
- protected void Spausdinimas(Sarasas taskai, string[] spalvos, Sarasas[] didziausiTrikampiai, double[] didziausiPerimetrai)
- {
- // Sąrašo peržiūra, panaudojant sąsajos metodus
- ListBox1.Items.Add("Taskai:");
- for (taskai.Pradžia(); taskai.Yra(); taskai.Kitas())
- {
- ListBox1.Items.Add(taskai.ImtiDuomenis().ToString());
- }
- ListBox1.Items.Add("");
- ListBox1.Items.Add("Spalvos:");
- foreach (string spalva in spalvos)
- {
- ListBox1.Items.Add(spalva);
- }
- ListBox1.Items.Add("");
- for (int i = 0; i < spalvos.Length; i++)
- {
- string[] dalys = spalvos[i].Split(';');
- if (dalys[1].ToLower() == "taip")
- {
- if (didziausiPerimetrai[i] > 0)
- {
- didziausiTrikampiai[i].Pradžia();
- ListBox1.Items.Add(string.Format("Spalva:{0}", dalys[0]));
- ListBox1.Items.Add(string.Format("Taskas1 X:{0} Y:{1}", didziausiTrikampiai[i].ImtiDuomenis().X, didziausiTrikampiai[i].ImtiDuomenis().Y));
- didziausiTrikampiai[i].Kitas();
- ListBox1.Items.Add(string.Format("Taskas2 X:{0} Y:{1}", didziausiTrikampiai[i].ImtiDuomenis().X, didziausiTrikampiai[i].ImtiDuomenis().Y));
- didziausiTrikampiai[i].Kitas();
- ListBox1.Items.Add(string.Format("Taskas2 X:{0} Y:{1}", didziausiTrikampiai[i].ImtiDuomenis().X, didziausiTrikampiai[i].ImtiDuomenis().Y));
- ListBox1.Items.Add(string.Format("Perimetras:{0}", didziausiPerimetrai[i]));
- }
- else
- {
- ListBox1.Items.Add(string.Format("Spalva:{0} Nera trikampiu", dalys[0]));
- }
- }
- else
- {
- ListBox1.Items.Add(string.Format("Spalva:{0} Negalima", dalys[0]));
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement