Advertisement
Guest User

Untitled

a guest
Oct 24th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7.  
  8. namespace Saldainiai
  9. {
  10. //-----------------------------------------
  11. class Saldainiai
  12. {
  13. private string pav, tipas;
  14. private double kgkaina;
  15.  
  16. public Saldainiai(string pav, string tipas, double kgkaina)
  17. {
  18. this.pav = pav;
  19. this.tipas = tipas;
  20. this.kgkaina = kgkaina;
  21. }
  22. public string Imtipav() { return pav; }
  23. public string Imtitipa() { return tipas; }
  24. public double Imtikgkaina() { return kgkaina; }
  25.  
  26. }
  27. //-----------------------------------------
  28. class Program
  29. {
  30. const int Cn = 100;
  31. const string CFd1 = "..\\..\\duom1.txt";
  32. const string CFd2 = "..\\..\\duom2.txt";
  33. const string CFrez = "..\\..\\rez.txt";
  34. static void Main(string[] args)
  35. {
  36. Saldainiai[] S1 = new Saldainiai[Cn];
  37. int m1;
  38. string vardas;
  39.  
  40. Skaityti(CFd1, S1, out m1, out vardas); // pirmas studentas
  41.  
  42. Saldainiai[] S2 = new Saldainiai[Cn];
  43. int m2;
  44. string vardas2;
  45.  
  46. Skaityti(CFd2, S2, out m2, out vardas2); // antras studentas
  47.  
  48. //-------------------------------------------------
  49. double n;
  50. Console.Write("Įveskite kiek pirmą kartą kilogramų saldainių turi pirmas studentas: ");
  51. n = double.Parse(Console.ReadLine());
  52. Kaina(S1, m1, n);
  53. //-------------------------------------------------------
  54. BrangiausiasTipas(S1, m1);
  55. //----------------------------------------------------
  56. string maxvardas;
  57. double n1, n2, sum1, sum2;
  58. Console.Write("Įveskite kiek kilogramų saldainių turi pirmas studentas: ");
  59. n1 = double.Parse(Console.ReadLine()); // kiek pirmas studentas turi kilogramu saldainiu
  60. Console.Write("Įveskite kiek kilogramų saldainių turi antras studentas: ");
  61. n2 = double.Parse(Console.ReadLine()); // kiek antras studentas turi kilogramu saldainiu
  62. Rinkinys(S1, m1, vardas, out sum1, n1);
  63. Rinkinys(S2, m2, vardas2, out sum2, n2);
  64. double max = 0;
  65. // Ieškoma kurio studento rinkinys brangiausias
  66. if (max > sum2)
  67. {
  68. max = sum2;
  69. maxvardas = vardas2;
  70. }
  71. else
  72. {
  73. max = sum1;
  74. maxvardas = vardas;
  75. }
  76. //----------------------------------------------
  77. Saldainiai[] S3 = new Saldainiai[Cn];
  78. int m3 = 0;
  79. double k;
  80. //------------------------------------------------
  81. Console.Write("Iveskite pinigų ribą:");
  82. k = double.Parse(Console.ReadLine());
  83. Formuoti(S1, m1, S3, ref m3, k);
  84. Formuoti(S2, m2, S3, ref m3, k);
  85. //-----------------spausdinimas-------------------
  86. if (File.Exists(CFrez)) File.Delete(CFrez);
  87. Spausdinimas(CFrez, S1, m1, vardas);
  88. Spausdinimas(CFrez, S2, m2, vardas2);
  89. using (var fr = File.AppendText(CFrez))
  90. {
  91. fr.WriteLine("Pirmojo studento saldainiu rinkinys kainuoja {0} kai jis turi {1} kg saldainių", Kaina(S1, m1, n), n);
  92. fr.WriteLine("Daugiausiai kainuoja {0} tipo saldainiai", BrangiausiasTipas(S1, m1));
  93. fr.WriteLine("{0} saldainiu rinkinys kainuoja daugiau", maxvardas);
  94. fr.WriteLine("Saldainiai kurių kilogramas kainuoja daugiau nei {0}eur: ", k);
  95. }
  96. string vardas3 = ("Abiejų studentų saldainiu");
  97. Spausdinimas(CFrez, S3, m3, vardas3);
  98. //------------------------------------------------
  99. }
  100. //------------------------------------
  101. static void Skaityti(string fv, Saldainiai[] S, out int m, out string vardas)
  102. {
  103. using (StreamReader reader = new StreamReader(fv))
  104. {
  105. string line;
  106. line = reader.ReadLine();
  107. string[] parts;
  108. vardas = line;
  109. int i = 0;
  110. while ((line = reader.ReadLine()) != null && (i < Cn))
  111. {
  112. parts = line.Split(';');
  113. string pav = parts[0];
  114. string tipas = parts[1];
  115. double kgkaina = double.Parse(parts[2]);
  116. S[i++] = new Saldainiai(pav, tipas, kgkaina);
  117. }
  118. m = i;
  119.  
  120. }
  121. }
  122. //------------------------------------------------------------------------
  123. static void Spausdinimas(string fv, Saldainiai[] S, int m, string vardas)
  124. {
  125.  
  126. using (var fr = File.AppendText(fv))
  127. {
  128. fr.WriteLine("{0} duomenys:", vardas);
  129. fr.WriteLine("Pavadinimas,\t tipas,\t kg kaina\t");
  130. for (int i = 0; i < m; i++)
  131. {
  132. fr.WriteLine("{0,-15}\t {1,8}\t {2,5:f} ", S[i].Imtipav(), S[i].Imtitipa(), S[i].Imtikgkaina());
  133. }
  134. fr.WriteLine("\n");
  135. }
  136. }
  137. // -----------------------1 dalis-----------------------------------------
  138. // ----randama kiek kainuoja pirmo studento rinkinys--------------------
  139. static double Kaina(Saldainiai[] S1, int m1, double n)
  140. {
  141. double sum = 0;
  142. for (int i = 0; i < m1; i++)
  143. {
  144. sum = sum + (S1[i].Imtikgkaina() * n);
  145. }
  146. return sum;
  147. }
  148. // --------- randamas kuris tipas yra brangiausias-------------------------
  149. static string BrangiausiasTipas(Saldainiai[] S1, int m1)
  150. {
  151.  
  152. double max = S1[0].Imtikgkaina();
  153. string maxtipas = S1[0].Imtitipa();
  154. for (int i = 0; i < m1; i++)
  155. {
  156. if (max < S1[i].Imtikgkaina())
  157. {
  158. maxtipas = S1[i].Imtitipa();
  159. max = S1[i].Imtikgkaina();
  160. }
  161. }
  162. return maxtipas;
  163. }
  164. //--------------------------------2 dalis-----------------------------------------
  165. static void Rinkinys(Saldainiai[] S, int m, string vardas, out double sum, double n)
  166. {
  167. sum = 0;
  168. for (int i = 0; i < m; i++)
  169. {
  170. sum = sum + (S[i].Imtikgkaina() * n); // apskaičiuojamas studento saldainių rinkinys
  171. }
  172.  
  173. }
  174. //-------------------------------------------------------------------------------
  175. static void Formuoti(Saldainiai[] S, int m, Saldainiai[] S3, ref int m3, double k)
  176. {
  177. //Formuojamas naujas masyvas
  178.  
  179. for (int i = 0; i < m; i++)
  180. {
  181. if (S[i].Imtikgkaina() > k)
  182. {
  183. S3[m3++] = S[i];
  184. }
  185. }
  186. }
  187. //--------------------------------------------------------------------------
  188.  
  189. }
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement