daily pastebin goal
33%
SHARE
TWEET

Untitled

a guest Nov 21st, 2017 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Film
  8. {
  9.     class Film : IComparable<Film>
  10.  
  11.     {
  12.     public String Cim { get; private set; }
  13.     public int Ev { get; private set; }
  14.     public int Koltseg { get; private set; }
  15.     public int Bevetel { get; private set; }
  16.     public int Nyereseg { get { return Bevetel - Koltseg; } }
  17.  
  18.     public Film(String cim, int ev, int koltseg, int bevetel)
  19.     {
  20.         Cim = cim;
  21.         Ev = ev;
  22.         Koltseg = koltseg;
  23.         Bevetel = bevetel;
  24.     }
  25.  
  26.     public override string ToString()
  27.     {
  28.         return Cim;
  29.     }
  30.  
  31.     public int CompareTo(Film o)
  32.     {
  33.         int kulonbseg = this.Nyereseg - o.Nyereseg;
  34.  
  35.         if (kulonbseg != 0)
  36.         {
  37.             return kulonbseg;
  38.         }
  39.  
  40.         kulonbseg = this.Ev - o.Ev;
  41.  
  42.         if (kulonbseg != 0)
  43.         {
  44.             return kulonbseg;
  45.         }
  46.  
  47.         kulonbseg = this.Bevetel - o.Bevetel;
  48.  
  49.         if (kulonbseg != 0)
  50.         {
  51.             return kulonbseg;
  52.         }
  53.  
  54.         return this.Cim.CompareTo(o.Cim);
  55.     }
  56. }
  57.  
  58.  
  59. class Program
  60. {
  61.         static void Main(string[] args)
  62.         {
  63.  
  64.             int db = int.Parse(Console.ReadLine());
  65.  
  66.             Film[] tomb = new Film[db];
  67.  
  68.             for (int i = 0; i < tomb.Length; i++)
  69.             {
  70.  
  71.                 string[] adatok = Console.ReadLine().Split(';');
  72.  
  73.                 String cim = adatok[0];
  74.                 int ev = int.Parse(adatok[1]);
  75.                 int koltseg = int.Parse(adatok[3]);
  76.                 int bevetel = int.Parse(adatok[4]);
  77.  
  78.                 tomb[i] = new Film(cim, ev, koltseg, bevetel);
  79.             }
  80.             // 1. módszer
  81.             //Array.Sort(tomb);
  82.  
  83.             // 2. módszer
  84.             //Array.Sort(tomb, new Filmrendezo());
  85.  
  86.             // 3. módszer
  87.  
  88.             //Comparison<Film> myComparer = MyCompare;
  89.             //  Array.Sort(tomb, MyCompare);
  90.  
  91.             // 4. módszer
  92.             // Array.Sort(tomb, delegate (Film x, Film y)
  93.             //{
  94.             //    int kulonbseg = x.Nyereseg - y.Nyereseg;
  95.  
  96.             //    if (kulonbseg != 0)
  97.             //    {
  98.             //        return kulonbseg;
  99.             //    }
  100.  
  101.             //    kulonbseg = x.Ev - y.Ev;
  102.  
  103.             //    if (kulonbseg != 0)
  104.             //    {
  105.             //        return kulonbseg;
  106.             //    }
  107.  
  108.             //    kulonbseg = x.Bevetel - y.Bevetel;
  109.  
  110.             //    if (kulonbseg != 0)
  111.             //    {
  112.             //        return kulonbseg;
  113.             //    }
  114.  
  115.             //    return x.Cim.CompareTo(y.Cim);
  116.             //});
  117.  
  118.             // 5. módszer
  119.             //Array.Sort(tomb, (x,  y) =>
  120.             //{
  121.             //    int kulonbseg = x.Nyereseg - y.Nyereseg;
  122.  
  123.             //    if (kulonbseg != 0)
  124.             //    {
  125.             //        return kulonbseg;
  126.             //    }
  127.  
  128.             //    kulonbseg = x.Ev - y.Ev;
  129.  
  130.             //    if (kulonbseg != 0)
  131.             //    {
  132.             //        return kulonbseg;
  133.             //    }
  134.  
  135.             //    kulonbseg = x.Bevetel - y.Bevetel;
  136.  
  137.             //    if (kulonbseg != 0)
  138.             //    {
  139.             //        return kulonbseg;
  140.             //    }
  141.  
  142.             //    return x.Cim.CompareTo(y.Cim);
  143.             //});
  144.  
  145.             // 6. módszer
  146.             //tomb = tomb
  147.             //  .OrderByDescending(film => film.Nyereseg)
  148.             //  .ThenByDescending(film => film.Ev)
  149.             //  .ThenBy(film => film.Bevetel)
  150.             //  .ThenBy(film => film.Cim).ToArray();
  151.  
  152.             // 7. módszer
  153.             tomb = (from film in tomb
  154.                     orderby film.Nyereseg descending, film.Ev, film.Bevetel descending, film.Cim
  155.                     select film).ToArray();
  156.  
  157.             foreach (Film Film in tomb)
  158.             {
  159.                 Console.WriteLine(Film);
  160.             }
  161.      }
  162.  
  163.         static int MyCompare(Film x, Film y)
  164.         {
  165.             int kulonbseg = x.Nyereseg - y.Nyereseg;
  166.  
  167.             if (kulonbseg != 0)
  168.             {
  169.                 return kulonbseg;
  170.             }
  171.  
  172.             kulonbseg = x.Ev - y.Ev;
  173.  
  174.             if (kulonbseg != 0)
  175.             {
  176.                 return kulonbseg;
  177.             }
  178.  
  179.             kulonbseg = x.Bevetel - y.Bevetel;
  180.  
  181.             if (kulonbseg != 0)
  182.             {
  183.                 return kulonbseg;
  184.             }
  185.  
  186.             return x.Cim.CompareTo(y.Cim);
  187.         }
  188.  
  189.         class Filmrendezo : IComparer<Film>
  190.         {
  191.                 public int Compare(Film x, Film y)
  192.             {
  193.                 int kulonbseg = x.Nyereseg - y.Nyereseg;
  194.  
  195.                 if (kulonbseg != 0)
  196.                 {
  197.                     return kulonbseg;
  198.                 }
  199.  
  200.                 kulonbseg = x.Ev - y.Ev;
  201.  
  202.                 if (kulonbseg != 0)
  203.                 {
  204.                     return kulonbseg;
  205.                 }
  206.  
  207.                 kulonbseg = x.Bevetel - y.Bevetel;
  208.  
  209.                 if (kulonbseg != 0)
  210.                 {
  211.                     return kulonbseg;
  212.                 }
  213.  
  214.                 return x.Cim.CompareTo(y.Cim);
  215.             }
  216.         }
  217.    
  218. }
  219. }
RAW Paste Data
Top