Advertisement
MartisK

L2

May 18th, 2017
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 27.65 KB | None | 0 0
  1. //Staciakampis.cs:
  2.  
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8.  
  9. namespace L2
  10. {
  11.     class Staciakampis
  12.     {
  13.         private string Vardas { get; set; } // stačiakampio vardas
  14.         private int[] A { get; set; } // viršutiniojo kairiojo kampo koordinatės
  15.         private int[] B { get; set; } // viršutinio dešiniojo kampo koordinatės
  16.         private int[] C { get; set; } // apatinio dešiniojo kampo koordinatės
  17.         private int[] D { get; set; } // apatinio kairiojo kampo koordinatės
  18.         private double Plotas { get; set; } // stačiakampio plotas
  19.  
  20.         public Staciakampis()
  21.         { }
  22.  
  23.         public Staciakampis(string vardas, int[] a, int[] b, int[] c, int[] d)
  24.         {
  25.             Vardas = vardas;
  26.             A = a;
  27.             B = b;
  28.             C = c;
  29.             D = d;
  30.             Plotas = SkaiciuotiPlota();
  31.         }
  32.  
  33.         private double SkaiciuotiPlota()
  34.         {
  35.             double plot = 0;
  36.  
  37.             int a = A[1] - D[1];
  38.             int b = C[0] - D[0];
  39.  
  40.             plot = a * b;
  41.  
  42.             return plot;
  43.         }
  44.  
  45.         public string GautiVarda()
  46.         {
  47.             return Vardas;
  48.         }
  49.  
  50.         public int[] KampasA()
  51.         {
  52.             return A;
  53.         }
  54.  
  55.         public int[] KampasB()
  56.         {
  57.             return B;
  58.         }
  59.  
  60.         public int[] KampasC()
  61.         {
  62.             return C;
  63.         }
  64.  
  65.         public int[] KampasD()
  66.         {
  67.             return D;
  68.         }
  69.  
  70.         public double GautiPlota()
  71.         {
  72.             return Plotas;
  73.         }
  74.  
  75.         public override string ToString()
  76.         {
  77.             return String.Format("| {0} | ({1}; {2}) | ({3}; {4}) |", Vardas, A[0], A[1], C[0], C[1]);
  78.         }
  79.     }
  80. }
  81.  
  82.  
  83. //StaciakampiuSarasas.cs:
  84.  
  85. using System;
  86. using System.Collections.Generic;
  87. using System.Linq;
  88. using System.Text;
  89. using System.Threading.Tasks;
  90.  
  91. namespace L2
  92. {
  93.     class StaciakampiuSarasas
  94.     {
  95.         private StaciakampiuMazgas pradzia;
  96.         private StaciakampiuMazgas pabaiga;
  97.         private StaciakampiuMazgas d;
  98.         private int sk;
  99.  
  100.         public StaciakampiuSarasas()
  101.         {
  102.             pradzia = null;
  103.             pabaiga = null;
  104.             sk = 0;
  105.         }
  106.  
  107.         public void DetiDuomenis(Staciakampis naujas)
  108.         {
  109.             pradzia = new StaciakampiuMazgas(naujas, pradzia);
  110.             sk = 1;
  111.         }
  112.  
  113.         public void PridetiStaciakampi(Staciakampis data)
  114.         {
  115.             StaciakampiuMazgas Duom = new StaciakampiuMazgas(data, null);
  116.  
  117.             if (pradzia != null)
  118.             {
  119.                 pabaiga.Kitas = Duom;
  120.                 pabaiga = Duom;
  121.             }
  122.             else
  123.             {
  124.                 pradzia = Duom;
  125.                 pabaiga = Duom;
  126.             }
  127.             sk++;
  128.         }
  129.  
  130.         public void Pradzia()
  131.         {
  132.             d = pradzia;
  133.         }
  134.  
  135.         public void Kitas()
  136.         {
  137.             d = d.Kitas;
  138.         }
  139.  
  140.         public bool Yra()
  141.         {
  142.             return d != null;
  143.         }
  144.  
  145.         public Staciakampis GautiDuomenis()
  146.         {
  147.             return d.Duomenys;
  148.         }
  149.  
  150.         public int Skaicius()
  151.         {
  152.             return sk;
  153.         }
  154.     }
  155.  
  156.     class StaciakampiuMazgas
  157.     {
  158.         public Staciakampis Duomenys { get; set; }
  159.         public StaciakampiuMazgas Kitas { get; set; }
  160.  
  161.         public StaciakampiuMazgas(Staciakampis duom, StaciakampiuMazgas kitas)
  162.         {
  163.             Duomenys = duom;
  164.             Kitas = kitas;
  165.         }
  166.     }
  167. }
  168.  
  169.  
  170. //Trikampis.cs:
  171.  
  172. using System;
  173. using System.Collections.Generic;
  174. using System.Linq;
  175. using System.Text;
  176. using System.Threading.Tasks;
  177.  
  178. namespace L2
  179. {
  180.     class Trikampis
  181.     {
  182.         private string Vardas { get; set; } // Trikampio vardas
  183.         private int[] A { get; set; } // apatinio kairiojo kampo koordinatės
  184.         private int[] B { get; set; } // viršutinio kampo koordinatės
  185.         private int[] C { get; set; } // apatinio dešiniojo kampo koordinatės
  186.         private double Plotas { get; set; } // trikampio plotas
  187.  
  188.         public Trikampis()
  189.         { }
  190.  
  191.         public Trikampis(string vardas, int[] a, int[] b, int[] c)
  192.         {
  193.             Vardas = vardas;
  194.             A = a;
  195.             B = b;
  196.             C = c;
  197.             Plotas = SkaiciuotiPlota();
  198.         }
  199.  
  200.         private double SkaiciuotiPlota()
  201.         {
  202.             double plot = 0;
  203.  
  204.             int a = C[0] - A[0];
  205.             int h = B[1] - A[1];
  206.  
  207.             plot = (a * h) / 2;
  208.  
  209.             return plot;
  210.         }
  211.  
  212.         public string GautiVarda()
  213.         {
  214.             return Vardas;
  215.         }
  216.  
  217.         public int[] KampasA()
  218.         {
  219.             return A;
  220.         }
  221.  
  222.         public int[] KampasB()
  223.         {
  224.             return B;
  225.         }
  226.  
  227.         public int[] KampasC()
  228.         {
  229.             return C;
  230.         }
  231.  
  232.         public double GautiPlota()
  233.         {
  234.             return Plotas;
  235.         }
  236.  
  237.         public override string ToString()
  238.         {
  239.             return String.Format("| {0} | ({1}; {2}) | ({3}; {4}) | ({5}; {6}) |", Vardas, A[0], A[1], B[0], B[1], C[0], C[1]);
  240.         }
  241.     }
  242. }
  243.  
  244.  
  245. //TrikampiuSarasas.cs:
  246.  
  247. using System;
  248. using System.Collections.Generic;
  249. using System.Linq;
  250. using System.Text;
  251. using System.Threading.Tasks;
  252.  
  253. namespace L2
  254. {
  255.     class TrikampiuSarasas
  256.     {
  257.         private TrikampiuMazgas pradzia;
  258.         private TrikampiuMazgas pabaiga;
  259.         private TrikampiuMazgas d;
  260.         private int sk;
  261.  
  262.         public TrikampiuSarasas()
  263.         {
  264.             pradzia = null;
  265.             pabaiga = null;
  266.             sk = 0;
  267.         }
  268.  
  269.         public void DetiDuomenis(Trikampis naujas)
  270.         {
  271.             pradzia = new TrikampiuMazgas(naujas, pradzia);
  272.             sk = 1;
  273.         }
  274.  
  275.         public void PridetiTrikampi(Trikampis data)
  276.         {
  277.             TrikampiuMazgas Duom = new TrikampiuMazgas(data, null);
  278.  
  279.             if (pradzia != null)
  280.             {
  281.                 pabaiga.Kitas = Duom;
  282.                 pabaiga = Duom;
  283.             }
  284.             else
  285.             {
  286.                 pradzia = Duom;
  287.                 pabaiga = Duom;
  288.             }
  289.             sk++;
  290.         }
  291.  
  292.         public void Pradzia()
  293.         {
  294.             d = pradzia;
  295.         }
  296.  
  297.         public void Kitas()
  298.         {
  299.             d = d.Kitas;
  300.         }
  301.  
  302.         public bool Yra()
  303.         {
  304.             return d != null;
  305.         }
  306.  
  307.         public Trikampis GautiDuomenis()
  308.         {
  309.             return d.Duomenys;
  310.         }
  311.  
  312.         public int Skaicius()
  313.         {
  314.             return sk;
  315.         }
  316.     }
  317.  
  318.     class TrikampiuMazgas
  319.     {
  320.         public Trikampis Duomenys { get; set; }
  321.         public TrikampiuMazgas Kitas { get; set; }
  322.  
  323.         public TrikampiuMazgas(Trikampis duom, TrikampiuMazgas kitas)
  324.         {
  325.             Duomenys = duom;
  326.             Kitas = kitas;
  327.         }
  328.     }
  329. }
  330.  
  331.  
  332. //Atrinkti.cs:
  333.  
  334. using System;
  335. using System.Collections.Generic;
  336. using System.Linq;
  337. using System.Text;
  338. using System.Threading.Tasks;
  339.  
  340. namespace L2
  341. {
  342.     class Atrinkti
  343.     {
  344.         private string sVardas { get; set; } // stačiakampio vardas
  345.         private int[] sA { get; set; } // stačiakampio A kampo koordinatė
  346.         private int[] sB { get; set; } // stačiakampio B kampo koord.
  347.         private int[] sC { get; set; } // stačiakampio C kampo koord.
  348.         private int[] sD { get; set; } // stačiakampio D kampo koord.
  349.  
  350.         private string tVardas { get; set; } // trikampio vardas
  351.         private int[] tA { get; set; } // trikampio A kampo koord.
  352.         private int[] tB { get; set; } // trikampio B kampo koord.
  353.         private int[] tC { get; set; } // trikampio C kampo koord.
  354.  
  355.         public Atrinkti(string svar, string tvar, int[] sa, int[] sb, int[] sc, int[] sd, int[] t)
  356.         {
  357.             sVardas = svar;
  358.             sA = sa;
  359.             sB = sb;
  360.             sC = sc;
  361.             sD = sd;
  362.  
  363.             tVardas = tvar;
  364.             tA = t;
  365.         }
  366.  
  367.         public Atrinkti(string svar, string tvar, int[] sa, int[] sb, int[] sc, int[] sd, int[] ta, int[] tb, int[] tc)
  368.         {
  369.             sVardas = svar;
  370.             sA = sa;
  371.             sB = sb;
  372.             sC = sc;
  373.             sD = sd;
  374.  
  375.             tVardas = tvar;
  376.             tA = ta;
  377.             tB = tb;
  378.             tC = tc;
  379.         }
  380.  
  381.         public string StacVardas()
  382.         {
  383.             return sVardas;
  384.         }
  385.  
  386.         public string TrikVardas()
  387.         {
  388.             return tVardas;
  389.         }
  390.  
  391.         public int[] StacKampasA()
  392.         {
  393.             return sA;
  394.         }
  395.  
  396.         public int[] StacKampasB()
  397.         {
  398.             return sB;
  399.         }
  400.  
  401.         public int[] StacKampasC()
  402.         {
  403.             return sC;
  404.         }
  405.  
  406.         public int[] StacKampasD()
  407.         {
  408.             return sD;
  409.         }
  410.  
  411.         public int[] TrikKampasA()
  412.         {
  413.             return tA;
  414.         }
  415.  
  416.         public int[] TrikKampasB()
  417.         {
  418.             return tB;
  419.         }
  420.  
  421.         public int[] TrikKampasC()
  422.         {
  423.             return tC;
  424.         }
  425.     }
  426. }
  427.  
  428.  
  429. //AtrinktuSarasas.cs:
  430.  
  431. using System;
  432. using System.Collections.Generic;
  433. using System.Linq;
  434. using System.Text;
  435. using System.Threading.Tasks;
  436.  
  437. namespace L2
  438. {
  439.     class AtrinktuSarasas
  440.     {
  441.         private AtrinktuMazgas pradzia;
  442.         private AtrinktuMazgas pabaiga;
  443.         private AtrinktuMazgas d;
  444.         private int sk;
  445.  
  446.         public AtrinktuSarasas()
  447.         {
  448.             pradzia = null;
  449.             pabaiga = null;
  450.             sk = 0;
  451.         }
  452.  
  453.         public void DetiDuomenis(Atrinkti naujas)
  454.         {
  455.             pradzia = new AtrinktuMazgas(naujas, pradzia);
  456.             sk = 1;
  457.         }
  458.  
  459.         public void PridetiAtrinkta(Atrinkti data)
  460.         {
  461.             AtrinktuMazgas Duom = new AtrinktuMazgas(data, null);
  462.  
  463.             if (pradzia != null)
  464.             {
  465.                 pabaiga.Kitas = Duom;
  466.                 pabaiga = Duom;
  467.             }
  468.             else
  469.             {
  470.                 pradzia = Duom;
  471.                 pabaiga = Duom;
  472.             }
  473.             sk++;
  474.         }
  475.  
  476.         public void Pradzia()
  477.         {
  478.             d = pradzia;
  479.         }
  480.  
  481.         public void Kitas()
  482.         {
  483.             d = d.Kitas;
  484.         }
  485.  
  486.         public bool Yra()
  487.         {
  488.             return d != null;
  489.         }
  490.  
  491.         public Atrinkti GautiDuomenis()
  492.         {
  493.             return d.Duomenys;
  494.         }
  495.  
  496.         public int Skaicius()
  497.         {
  498.             return sk;
  499.         }
  500.     }
  501.  
  502.     class AtrinktuMazgas
  503.     {
  504.         public Atrinkti Duomenys { get; set; }
  505.         public AtrinktuMazgas Kitas { get; set; }
  506.  
  507.         public AtrinktuMazgas(Atrinkti duom, AtrinktuMazgas kitas)
  508.         {
  509.             Duomenys = duom;
  510.             Kitas = kitas;
  511.         }
  512.     }
  513. }
  514.  
  515.  
  516. //.aspx:
  517.  
  518. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="L2_Forma.aspx.cs" Inherits="L2.L2_Forma" %>
  519.  
  520. <!DOCTYPE html>
  521.  
  522. <html xmlns="http://www.w3.org/1999/xhtml">
  523. <head runat="server">
  524.     <title>Trigonometrija</title>
  525. </head>
  526. <body>
  527.     <form id="form1" runat="server">
  528.     <div>
  529.    
  530.         <asp:TextBox ID="TextBox1" runat="server" Height="342px" OnTextChanged="TextBox1_TextChanged" TextMode="MultiLine" Width="434px"></asp:TextBox>
  531.         <br />
  532.         <br />
  533.         <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Rezultatai" />
  534.         <br />
  535.         <br />
  536.         <asp:TextBox ID="TextBox2" runat="server" Height="290px" OnTextChanged="TextBox2_TextChanged" TextMode="MultiLine" Visible="False" Width="705px"></asp:TextBox>
  537.    
  538.     </div>
  539.     </form>
  540. </body>
  541. </html>
  542.  
  543.  
  544. //.aspx.cs:
  545.  
  546. using System;
  547. using System.Collections.Generic;
  548. using System.Linq;
  549. using System.Web;
  550. using System.Web.UI;
  551. using System.Web.UI.WebControls;
  552. using System.IO;
  553. using System.Text;
  554.  
  555. namespace L2
  556. {
  557.     public partial class L2_Forma : System.Web.UI.Page
  558.     {
  559.         static TrikampiuSarasas Trikampiai = new TrikampiuSarasas();             // visi trikampiai
  560.         static StaciakampiuSarasas Staciakampiai = new StaciakampiuSarasas();    // visi stačiakampiai
  561.         static AtrinktuSarasas PoKampa = new AtrinktuSarasas();                  // atrinktų stačiakampių sąrašas, kuriuose yra po 1 trikampio viršūnę
  562.         static AtrinktuSarasas VisasTrikampis = new AtrinktuSarasas();           // atrinktų stačiakampių sąrašas, kuriuose yra visas trikampis
  563.  
  564.         const string TrikampiuFailas = "App_Data/Trikampiai.txt"; // pradinis trikampių sąrašas
  565.         const string StaciakampiuFailas = "App_Data/Staciakampiai.txt"; // pradinis stačiakampių sąrašas
  566.         const string RezultatuFailas = "App_Data/Rezultatai.txt"; // rezultatų failas
  567.         const string DuomenuFailas = "App_Data/Duomenys.txt"; // duomenų perspausdinimo vieta
  568.  
  569.         // Veiksmas vykdomas užkrovus puslapį
  570.         protected void Page_Load(object sender, EventArgs e)
  571.         {
  572.                
  573.         }
  574.  
  575.         // Veiksmas vykdomas paspaudus mygtuką Button1 ("Rezultatai")
  576.         protected void Button1_Click(object sender, EventArgs e)
  577.         {
  578.             TrikampiuNuskaitymas();
  579.             StaciakampiuNuskaitymas();
  580.             DuomenuSpausdinimas(TextBox1, Trikampiai, Staciakampiai, DuomenuFailas);
  581.             Button1.Visible = false;
  582.             RastiPoVienaKampa();
  583.             RastiVisaTrikampi();
  584.             RezultatuSpausdinimas(TextBox2, PoKampa, VisasTrikampis, RezultatuFailas);
  585.         }
  586.  
  587.         /// <summary>
  588.         /// Trikampių sąrašo nuskaitymas iš failo
  589.         /// </summary>
  590.         private void TrikampiuNuskaitymas()
  591.         {
  592.             string[] eilutes = File.ReadAllLines(Server.MapPath("App_Data/Trikampiai.txt"));
  593.  
  594.             foreach (string eilute in eilutes)
  595.             {
  596.                 string[] dalys = eilute.Split(' ');
  597.  
  598.                 int[] A = new int[2];
  599.                 A[0] = int.Parse(dalys[1]);
  600.                 A[1] = int.Parse(dalys[2]);
  601.                 int[] B = new int[2];
  602.                 B[0] = int.Parse(dalys[3]);
  603.                 B[1] = int.Parse(dalys[4]);
  604.                 int[] C = new int[2];
  605.                 C[0] = int.Parse(dalys[5]);
  606.                 C[1] = int.Parse(dalys[6]);
  607.  
  608.                 var t = new Trikampis(dalys[0], A, B, C);
  609.                 Trikampiai.PridetiTrikampi(t);
  610.             }
  611.         }
  612.  
  613.         /// <summary>
  614.         /// Stačiakampių sąrašo nuskaitymas iš failo
  615.         /// </summary>
  616.         private void StaciakampiuNuskaitymas()
  617.         {
  618.             string[] eilutes = File.ReadAllLines(Server.MapPath("App_Data/Staciakampiai.txt"));
  619.  
  620.             foreach (string eilute in eilutes)
  621.             {
  622.                 string[] dalys = eilute.Split(' ');
  623.  
  624.                 int[] A = new int[2];
  625.                 A[0] = int.Parse(dalys[1]); // A kampo x koordinatė
  626.                 A[1] = int.Parse(dalys[2]); // A kampo y koordinatė
  627.                 int[] B = new int[2];
  628.                 int[] C = new int[2];
  629.                 C[0] = int.Parse(dalys[3]); // C kampo x koordinatė
  630.                 C[1] = int.Parse(dalys[4]); // C kampo y koordinatė
  631.                 int[] D = new int[2];
  632.  
  633.                 B[0] = C[0]; // B kampo x koordinatė
  634.                 B[1] = A[1]; // B kampo y koordinatė
  635.  
  636.                 D[0] = A[0]; // D kampo x koordinatė
  637.                 D[1] = C[1]; // D kampo x koordinatė
  638.  
  639.                 var s = new Staciakampis(dalys[0], A, B, C, D);
  640.                 Staciakampiai.PridetiStaciakampi(s);
  641.             }
  642.         }
  643.  
  644.         /// <summary>
  645.         /// Ieškoma stačiakampių, kuriuose yra po vieną trikampio kampą
  646.         /// </summary>
  647.         private static void RastiPoVienaKampa()
  648.         {
  649.             for (Staciakampiai.Pradzia(); Staciakampiai.Yra(); Staciakampiai.Kitas())
  650.             {
  651.                 int[] A = Staciakampiai.GautiDuomenis().KampasA();
  652.                 int[] B = Staciakampiai.GautiDuomenis().KampasB();
  653.                 int[] C = Staciakampiai.GautiDuomenis().KampasC();
  654.                 int[] D = Staciakampiai.GautiDuomenis().KampasD();
  655.  
  656.                 for (Trikampiai.Pradzia(); Trikampiai.Yra(); Trikampiai.Kitas())
  657.                 {
  658.                     bool arIrasyti = false; // ar reikia įrašyti stačiakampį
  659.                     int[] kuri = new int[2] { 0, 0 }; // kuris kampas yra stačiakampyje
  660.  
  661.                     int[] tA = Trikampiai.GautiDuomenis().KampasA();
  662.                     int[] tB = Trikampiai.GautiDuomenis().KampasB();
  663.                     int[] tC = Trikampiai.GautiDuomenis().KampasC();
  664.  
  665.                     if (tA[0] > A[0] && tA[0] < B[0]) // jei trikampio kampas A yra stačiakampyje pagal x koord.
  666.                     {
  667.                         if (tA[1] > D[1] && tA[1] < A[1]) // jei trikampio kampas A yra stačiakampyje pagal y koord.
  668.                         {
  669.                             arIrasyti = true;
  670.                             kuri[0] = tA[0];
  671.                             kuri[1] = tA[1];
  672.                         }
  673.                     }
  674.                     if (tB[0] > A[0] && tB[0] < B[0]) // jei trikampio kampas B yra stačiakampyje pagal x koord.
  675.                     {
  676.                         if (tB[1] > D[1] && tB[1] < A[1]) // jei trikampio kampas B yra stačiakampyje pagal y koord.
  677.                         {
  678.                             if (arIrasyti)
  679.                                 arIrasyti = false;
  680.                             else
  681.                             {
  682.                                 arIrasyti = true;
  683.                                 kuri[0] = tB[0];
  684.                                 kuri[1] = tB[1];
  685.                             }
  686.                         }
  687.                     }
  688.                     if (tC[0] > A[0] && tC[0] < B[0]) // jei trikampio kampas C yra stačiakampyje pagal x koord.
  689.                     {
  690.                         if (tC[1] > D[1] && tC[1] < A[1]) // jei trikampio kampas C yra stačiakampyje pagal y koord.
  691.                         {
  692.                             if (!arIrasyti && kuri[0] == 0 && kuri[1] == 0)
  693.                             {
  694.                                 arIrasyti = true;
  695.                                 kuri[0] = tC[0];
  696.                                 kuri[1] = tC[1];
  697.                             }
  698.                             else
  699.                                 arIrasyti = false;
  700.                         }
  701.                     }
  702.  
  703.                     if(arIrasyti)
  704.                     {
  705.                         var a = new Atrinkti(Staciakampiai.GautiDuomenis().GautiVarda(), Trikampiai.GautiDuomenis().GautiVarda(), A, B, C, D, kuri);
  706.                         PoKampa.PridetiAtrinkta(a);
  707.                     }
  708.                 }
  709.             }
  710.         }
  711.  
  712.         /// <summary>
  713.         /// Ieškoma stačiakampių, kuriuose yra visas trikampis
  714.         /// </summary>
  715.         private static void RastiVisaTrikampi()
  716.         {
  717.             for (Staciakampiai.Pradzia(); Staciakampiai.Yra(); Staciakampiai.Kitas())
  718.             {
  719.                 int[] A = Staciakampiai.GautiDuomenis().KampasA();
  720.                 int[] B = Staciakampiai.GautiDuomenis().KampasB();
  721.                 int[] C = Staciakampiai.GautiDuomenis().KampasC();
  722.                 int[] D = Staciakampiai.GautiDuomenis().KampasD();
  723.  
  724.                 for (Trikampiai.Pradzia(); Trikampiai.Yra(); Trikampiai.Kitas())
  725.                 {
  726.                     int[] tA = Trikampiai.GautiDuomenis().KampasA();
  727.                     int[] tB = Trikampiai.GautiDuomenis().KampasB();
  728.                     int[] tC = Trikampiai.GautiDuomenis().KampasC();
  729.  
  730.                     if (tA[0] > A[0] && tA[0] < B[0] && tA[1] > D[1] && tA[1] < A[1]) // jei trikampio kampas A yra stačiakampyje
  731.                     {
  732.                         if (tB[0] > A[0] && tB[0] < B[0] && tB[1] > D[1] && tB[1] < A[1]) // jei trikampio kampas B yra stačiakampyje
  733.                         {
  734.                             if (tC[0] > A[0] && tC[0] < B[0] && tC[1] > D[1] && tC[1] < A[1]) // jei trikampio kampas C yra stačiakampyje
  735.                             {
  736.                                 var a = new Atrinkti(Staciakampiai.GautiDuomenis().GautiVarda(), Trikampiai.GautiDuomenis().GautiVarda(), A, B, C, D, tA, tB, tC);
  737.                                 VisasTrikampis.PridetiAtrinkta(a);
  738.                             }
  739.                         }
  740.                     }
  741.                 }
  742.             }
  743.         }
  744.  
  745.         /// <summary>
  746.         /// Pradinių duomenų spausdinimas į grafinę vartotojo sąsają ir tekstinį failą
  747.         /// </summary>
  748.         /// <param name="tb">teksto laukas vartotojo sąsajoje</param>
  749.         /// <param name="trik">trikampių sąrašas</param>
  750.         /// <param name="stac">stačiakampių sąrašas</param>
  751.         /// <param name="failas">failo pavadinimas</param>
  752.         private void DuomenuSpausdinimas(TextBox tb, TrikampiuSarasas trik, StaciakampiuSarasas stac, string failas)
  753.         {
  754.             StringBuilder sb = new StringBuilder();
  755.             sb.AppendLine("Trikampių sąrašas:");
  756.             sb.AppendLine("---------------------------------------------------");
  757.             sb.AppendLine("| Pavadinimas | 1 viršūnė | 2 viršūnė | 3 viršūnė |");
  758.             sb.AppendLine("---------------------------------------------------");
  759.             for(trik.Pradzia(); trik.Yra(); trik.Kitas())
  760.             {
  761.                 sb.AppendLine(string.Format("{0}", trik.GautiDuomenis().ToString()));
  762.                 sb.AppendLine("---------------------------------------------------");
  763.             }
  764.             sb.AppendLine();
  765.             sb.AppendLine("Stačiakampių sąrašas:");
  766.             sb.AppendLine("---------------------------------------");
  767.             sb.AppendLine("| Pavadinimas   | 1 kampas | 2 kampas |");
  768.             sb.AppendLine("---------------------------------------");
  769.             for (stac.Pradzia(); stac.Yra(); stac.Kitas())
  770.             {
  771.                 sb.AppendLine(string.Format("{0}", stac.GautiDuomenis().ToString()));
  772.                 sb.AppendLine("---------------------------------------");
  773.             }
  774.             tb.Text = sb.ToString();
  775.  
  776.             using (StreamWriter writer = new StreamWriter(Server.MapPath(failas)))
  777.             {
  778.                 writer.Write(sb.ToString());
  779.             }
  780.         }
  781.  
  782.         /// <summary>
  783.         /// Rezultatų spausdinimas grafinėje vartotojo sąsajoje ir tekstiniame faile
  784.         /// </summary>
  785.         /// <param name="tb">Teksto laukas vartotojo sąsajoje</param>
  786.         /// <param name="kampas">Stačiakampių sąrašas, kuriuose yra po vieną trikampio kampą</param>
  787.         /// <param name="visas">Stačiakampių sąrašas, kuriuose yra visi trikampio kampai</param>
  788.         /// <param name="failas">rezultatų tekstinis failas</param>
  789.         private void RezultatuSpausdinimas(TextBox tb, AtrinktuSarasas kampas, AtrinktuSarasas visas, string failas)
  790.         {
  791.             tb.Visible = true;
  792.             StringBuilder sb = new StringBuilder();
  793.             sb.AppendLine("Stačiakampiai, kuriuose yra po vieną trikampio kampą:");
  794.             sb.AppendLine("---------------------------------------------------------------");
  795.             sb.AppendLine("| Stač. pavadinimas | 1 kampas | 2 kampas | 3 kampas | 4 kampas | Trik. pavadinimas | Viršūnė |");
  796.             sb.AppendLine("---------------------------------------------------------------");
  797.             for(kampas.Pradzia(); kampas.Yra(); kampas.Kitas())
  798.             {
  799.                 int[] sA = kampas.GautiDuomenis().StacKampasA();
  800.                 int[] sB = kampas.GautiDuomenis().StacKampasB();
  801.                 int[] sC = kampas.GautiDuomenis().StacKampasC();
  802.                 int[] sD = kampas.GautiDuomenis().StacKampasD();
  803.  
  804.                 int[] tA = kampas.GautiDuomenis().TrikKampasA();
  805.  
  806.                 sb.AppendLine(string.Format("| {0, -5} | {1}; {2, -2} | {3}; {4, -2} | {5}; {6, -2} | {7}; {8, -2} | {9, -10} | {10}; {11, -2} |",
  807.                     kampas.GautiDuomenis().StacVardas(), sA[0], sA[1], sB[0], sB[1], sC[0], sC[1], sD[0], sD[1], kampas.GautiDuomenis().TrikVardas(), tA[0], tA[1]));
  808.                 sb.AppendLine("---------------------------------------------------------------");
  809.             }
  810.             sb.AppendLine();
  811.             sb.AppendLine("Stačiakampiai, kuriuose yra visas trikampis:");
  812.             sb.AppendLine("---------------------------------------------------------------");
  813.             sb.AppendLine("| Stač. pavadinimas | 1 kampas | 2 kampas | 3 kampas | 4 kampas | Trik. pavadinimas | 1 kampas | 2 kampas | 3 kampas |");
  814.             sb.AppendLine("---------------------------------------------------------------");
  815.             for (visas.Pradzia(); visas.Yra(); visas.Kitas())
  816.             {
  817.                 int[] sA = visas.GautiDuomenis().StacKampasA();
  818.                 int[] sB = visas.GautiDuomenis().StacKampasB();
  819.                 int[] sC = visas.GautiDuomenis().StacKampasC();
  820.                 int[] sD = visas.GautiDuomenis().StacKampasD();
  821.  
  822.                 int[] tA = visas.GautiDuomenis().TrikKampasA();
  823.                 int[] tB = visas.GautiDuomenis().TrikKampasB();
  824.                 int[] tC = visas.GautiDuomenis().TrikKampasC();
  825.  
  826.                 sb.AppendLine(string.Format("| {0, -5} | {1}; {2, -2} | {3}; {4, -2} | {5}; {6, -2} | {7}; {8, -2} | {9, -10} | {10}; {11, -2} | {12}; {13, -2} | {14}; {15, -2} |",
  827.                     visas.GautiDuomenis().StacVardas(), sA[0], sA[1], sB[0], sB[1], sC[0], sC[1], sD[0], sD[1], visas.GautiDuomenis().TrikVardas(), tA[0], tA[1], tB[0], tB[1], tC[0], tC[1]));
  828.                 sb.AppendLine("---------------------------------------------------------------");
  829.             }
  830.  
  831.             Staciakampis didzStac = new Staciakampis(); // didžiausio ploto stačiakampis
  832.             Trikampis didzTrik = new Trikampis(); // didžiausio ploto trikampis
  833.  
  834.             for (Staciakampiai.Pradzia(); Staciakampiai.Yra(); Staciakampiai.Kitas())
  835.             {
  836.                 if (Staciakampiai.GautiDuomenis().GautiPlota() > didzStac.GautiPlota())
  837.                 {
  838.                     didzStac = Staciakampiai.GautiDuomenis();
  839.                 }
  840.             }
  841.             for (Trikampiai.Pradzia(); Trikampiai.Yra(); Trikampiai.Kitas())
  842.             {
  843.                 if (Trikampiai.GautiDuomenis().GautiPlota() > didzTrik.GautiPlota())
  844.                 {
  845.                     didzTrik = Trikampiai.GautiDuomenis();
  846.                 }
  847.             }
  848.             sb.AppendLine();
  849.             sb.AppendLine(string.Format("{0} yra didžiausio ploto iš visų stačiakampių ({1} kv. vnt).", didzStac.GautiVarda(), didzStac.GautiPlota()));
  850.             sb.AppendLine(string.Format("{0} yra didžiausio ploto iš visų trikampių ({1} kv. vnt).", didzTrik.GautiVarda(), didzTrik.GautiPlota()));
  851.             sb.AppendLine();
  852.             if (didzStac.GautiPlota() > didzTrik.GautiPlota())
  853.             {
  854.                 sb.AppendLine(string.Format("Stačiakampio {0} plotas yra didesnis už trikampio {1} plotą.", didzStac.GautiVarda(), didzTrik.GautiVarda()));
  855.             }
  856.             else
  857.             {
  858.                 sb.AppendLine(string.Format("Stačiakampio {0} plotas yra mažesnis už trikampio {1} plotą.", didzStac.GautiVarda(), didzTrik.GautiVarda()));
  859.             }
  860.  
  861.             tb.Text = sb.ToString();
  862.  
  863.             using (var writer = new StreamWriter(Server.MapPath(failas)))
  864.             {
  865.                 writer.Write(sb.ToString());
  866.             }
  867.         }
  868.  
  869.         protected void TextBox1_TextChanged(object sender, EventArgs e)
  870.         {
  871.  
  872.         }
  873.  
  874.         protected void TextBox2_TextChanged(object sender, EventArgs e)
  875.         {
  876.  
  877.         }
  878.     }
  879. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement