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;
- namespace Film
- {
- class Film : IComparable<Film>
- {
- public String Cim { get; private set; }
- public int Ev { get; private set; }
- public int Koltseg { get; private set; }
- public int Bevetel { get; private set; }
- public int Nyereseg { get { return Bevetel - Koltseg; } }
- public Film(String cim, int ev, int koltseg, int bevetel)
- {
- Cim = cim;
- Ev = ev;
- Koltseg = koltseg;
- Bevetel = bevetel;
- }
- public override string ToString()
- {
- return Cim;
- }
- public int CompareTo(Film o)
- {
- int kulonbseg = this.Nyereseg - o.Nyereseg;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = this.Ev - o.Ev;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = this.Bevetel - o.Bevetel;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- return this.Cim.CompareTo(o.Cim);
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- int db = int.Parse(Console.ReadLine());
- Film[] tomb = new Film[db];
- for (int i = 0; i < tomb.Length; i++)
- {
- string[] adatok = Console.ReadLine().Split(';');
- String cim = adatok[0];
- int ev = int.Parse(adatok[1]);
- int koltseg = int.Parse(adatok[3]);
- int bevetel = int.Parse(adatok[4]);
- tomb[i] = new Film(cim, ev, koltseg, bevetel);
- }
- // 1. módszer
- //Array.Sort(tomb);
- // 2. módszer
- //Array.Sort(tomb, new Filmrendezo());
- // 3. módszer
- //Comparison<Film> myComparer = MyCompare;
- // Array.Sort(tomb, MyCompare);
- // 4. módszer
- // Array.Sort(tomb, delegate (Film x, Film y)
- //{
- // int kulonbseg = x.Nyereseg - y.Nyereseg;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // kulonbseg = x.Ev - y.Ev;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // kulonbseg = x.Bevetel - y.Bevetel;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // return x.Cim.CompareTo(y.Cim);
- //});
- // 5. módszer
- //Array.Sort(tomb, (x, y) =>
- //{
- // int kulonbseg = x.Nyereseg - y.Nyereseg;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // kulonbseg = x.Ev - y.Ev;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // kulonbseg = x.Bevetel - y.Bevetel;
- // if (kulonbseg != 0)
- // {
- // return kulonbseg;
- // }
- // return x.Cim.CompareTo(y.Cim);
- //});
- // 6. módszer
- //tomb = tomb
- // .OrderByDescending(film => film.Nyereseg)
- // .ThenByDescending(film => film.Ev)
- // .ThenBy(film => film.Bevetel)
- // .ThenBy(film => film.Cim).ToArray();
- // 7. módszer
- tomb = (from film in tomb
- orderby film.Nyereseg descending, film.Ev, film.Bevetel descending, film.Cim
- select film).ToArray();
- foreach (Film Film in tomb)
- {
- Console.WriteLine(Film);
- }
- }
- static int MyCompare(Film x, Film y)
- {
- int kulonbseg = x.Nyereseg - y.Nyereseg;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = x.Ev - y.Ev;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = x.Bevetel - y.Bevetel;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- return x.Cim.CompareTo(y.Cim);
- }
- class Filmrendezo : IComparer<Film>
- {
- public int Compare(Film x, Film y)
- {
- int kulonbseg = x.Nyereseg - y.Nyereseg;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = x.Ev - y.Ev;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- kulonbseg = x.Bevetel - y.Bevetel;
- if (kulonbseg != 0)
- {
- return kulonbseg;
- }
- return x.Cim.CompareTo(y.Cim);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement