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;
- namespace Saldainiai
- {
- //-----------------------------------------
- class Saldainiai
- {
- private string pav, tipas;
- private double kgkaina;
- public Saldainiai(string pav, string tipas, double kgkaina)
- {
- this.pav = pav;
- this.tipas = tipas;
- this.kgkaina = kgkaina;
- }
- public string Imtipav() { return pav; }
- public string Imtitipa() { return tipas; }
- public double Imtikgkaina() { return kgkaina; }
- }
- //-----------------------------------------
- class Program
- {
- const int Cn = 100;
- const string CFd1 = "..\\..\\duom1.txt";
- const string CFd2 = "..\\..\\duom2.txt";
- const string CFrez = "..\\..\\rez.txt";
- static void Main(string[] args)
- {
- Saldainiai[] S1 = new Saldainiai[Cn];
- int m1;
- string vardas;
- Skaityti(CFd1, S1, out m1, out vardas); // pirmas studentas
- Saldainiai[] S2 = new Saldainiai[Cn];
- int m2;
- string vardas2;
- Skaityti(CFd2, S2, out m2, out vardas2); // antras studentas
- //-------------------------------------------------
- double n;
- Console.Write("Įveskite kiek pirmą kartą kilogramų saldainių turi pirmas studentas: ");
- n = double.Parse(Console.ReadLine());
- Kaina(S1, m1, n);
- //-------------------------------------------------------
- BrangiausiasTipas(S1, m1);
- //----------------------------------------------------
- string maxvardas;
- double n1, n2, sum1, sum2;
- Console.Write("Įveskite kiek kilogramų saldainių turi pirmas studentas: ");
- n1 = double.Parse(Console.ReadLine()); // kiek pirmas studentas turi kilogramu saldainiu
- Console.Write("Įveskite kiek kilogramų saldainių turi antras studentas: ");
- n2 = double.Parse(Console.ReadLine()); // kiek antras studentas turi kilogramu saldainiu
- Rinkinys(S1, m1, vardas, out sum1, n1);
- Rinkinys(S2, m2, vardas2, out sum2, n2);
- double max = 0;
- // Ieškoma kurio studento rinkinys brangiausias
- if (max > sum2)
- {
- max = sum2;
- maxvardas = vardas2;
- }
- else
- {
- max = sum1;
- maxvardas = vardas;
- }
- //----------------------------------------------
- Saldainiai[] S3 = new Saldainiai[Cn];
- int m3 = 0;
- double k;
- //------------------------------------------------
- Console.Write("Iveskite pinigų ribą:");
- k = double.Parse(Console.ReadLine());
- Formuoti(S1, m1, S3, ref m3, k);
- Formuoti(S2, m2, S3, ref m3, k);
- //-----------------spausdinimas-------------------
- if (File.Exists(CFrez)) File.Delete(CFrez);
- Spausdinimas(CFrez, S1, m1, vardas);
- Spausdinimas(CFrez, S2, m2, vardas2);
- using (var fr = File.AppendText(CFrez))
- {
- fr.WriteLine("Pirmojo studento saldainiu rinkinys kainuoja {0} kai jis turi {1} kg saldainių", Kaina(S1, m1, n), n);
- fr.WriteLine("Daugiausiai kainuoja {0} tipo saldainiai", BrangiausiasTipas(S1, m1));
- fr.WriteLine("{0} saldainiu rinkinys kainuoja daugiau", maxvardas);
- fr.WriteLine("Saldainiai kurių kilogramas kainuoja daugiau nei {0}eur: ", k);
- }
- string vardas3 = ("Abiejų studentų saldainiu");
- Spausdinimas(CFrez, S3, m3, vardas3);
- //------------------------------------------------
- }
- //------------------------------------
- static void Skaityti(string fv, Saldainiai[] S, out int m, out string vardas)
- {
- using (StreamReader reader = new StreamReader(fv))
- {
- string line;
- line = reader.ReadLine();
- string[] parts;
- vardas = line;
- int i = 0;
- while ((line = reader.ReadLine()) != null && (i < Cn))
- {
- parts = line.Split(';');
- string pav = parts[0];
- string tipas = parts[1];
- double kgkaina = double.Parse(parts[2]);
- S[i++] = new Saldainiai(pav, tipas, kgkaina);
- }
- m = i;
- }
- }
- //------------------------------------------------------------------------
- static void Spausdinimas(string fv, Saldainiai[] S, int m, string vardas)
- {
- using (var fr = File.AppendText(fv))
- {
- fr.WriteLine("{0} duomenys:", vardas);
- fr.WriteLine("Pavadinimas,\t tipas,\t kg kaina\t");
- for (int i = 0; i < m; i++)
- {
- fr.WriteLine("{0,-15}\t {1,8}\t {2,5:f} ", S[i].Imtipav(), S[i].Imtitipa(), S[i].Imtikgkaina());
- }
- fr.WriteLine("\n");
- }
- }
- // -----------------------1 dalis-----------------------------------------
- // ----randama kiek kainuoja pirmo studento rinkinys--------------------
- static double Kaina(Saldainiai[] S1, int m1, double n)
- {
- double sum = 0;
- for (int i = 0; i < m1; i++)
- {
- sum = sum + (S1[i].Imtikgkaina() * n);
- }
- return sum;
- }
- // --------- randamas kuris tipas yra brangiausias-------------------------
- static string BrangiausiasTipas(Saldainiai[] S1, int m1)
- {
- double max = S1[0].Imtikgkaina();
- string maxtipas = S1[0].Imtitipa();
- for (int i = 0; i < m1; i++)
- {
- if (max < S1[i].Imtikgkaina())
- {
- maxtipas = S1[i].Imtitipa();
- max = S1[i].Imtikgkaina();
- }
- }
- return maxtipas;
- }
- //--------------------------------2 dalis-----------------------------------------
- static void Rinkinys(Saldainiai[] S, int m, string vardas, out double sum, double n)
- {
- sum = 0;
- for (int i = 0; i < m; i++)
- {
- sum = sum + (S[i].Imtikgkaina() * n); // apskaičiuojamas studento saldainių rinkinys
- }
- }
- //-------------------------------------------------------------------------------
- static void Formuoti(Saldainiai[] S, int m, Saldainiai[] S3, ref int m3, double k)
- {
- //Formuojamas naujas masyvas
- for (int i = 0; i < m; i++)
- {
- if (S[i].Imtikgkaina() > k)
- {
- S3[m3++] = S[i];
- }
- }
- }
- //--------------------------------------------------------------------------
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement