Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. //zad1
  2. //a
  3. var elements = from car in myCars
  4. where car.Model == "A6"
  5. select new
  6. {
  7. engineType = car.Motor.Model == "TDI" ? "diesel" : "petrol",
  8. avgHppl = car.Motor.HorsePower / car.Motor.Displacement
  9. }
  10. into p
  11. group p by p.engineType into q
  12. select new
  13. {
  14. q.First().engineType,
  15. avgHPPL = q.Average(r => r.avgHppl)
  16. }
  17. into s
  18. orderby s.avgHPPL descending
  19. select s;
  20.  
  21. Console.WriteLine("Zadanie 1a:");
  22. foreach (var e in elements)
  23. {
  24. Console.WriteLine(e.engineType + ": " + e.avgHPPL);
  25. }
  26.  
  27.  
  28. //b
  29. var elements2 = myCars
  30. .Where(x => x.Model == "A6")
  31. .Select(x => new
  32. {
  33. engineType = x.Motor.Model == "TDI" ? "diesel" : "petrol",
  34. avgHppl = x.Motor.HorsePower / x.Motor.Displacement
  35. })
  36. .GroupBy(x => x.engineType)
  37. .Select(x => new
  38. {
  39. x.First().engineType,
  40. avgHPPL = x.Average(y => y.avgHppl)
  41. })
  42. .OrderByDescending(z => z.avgHPPL);
  43.  
  44. Console.WriteLine("Zadanie 1b:");
  45. foreach (var e in elements2)
  46. {
  47. Console.WriteLine(e.engineType + ": " + e.avgHPPL);
  48. }
  49.  
  50. //zad 2
  51.  
  52. Func<Car, Car, int> arg1 = delegate (Car c1, Car c2)
  53. {
  54. return c1.Motor.HorsePower < c2.Motor.HorsePower ? 1 : -1;
  55. };
  56.  
  57. Predicate<Car> arg2 = delegate (Car c)
  58. {
  59. return c.Motor.Model.Equals("TDI");
  60. };
  61.  
  62. Action<Car> arg3 = delegate (Car c)
  63. {
  64. string content = "Model: " + c.Model + "\nSilnik: " + c.Motor.Displacement.ToString("0.0") + " "
  65. + c.Motor.Model + " Moc: " + c.Motor.HorsePower + "\nRok: " + c.Year;
  66. MessageBox.Show(content, "Zawartosc obiektu");
  67. };
  68.  
  69. myCars.Sort(new Comparison<Car>(arg1));
  70. PrintCollection(myCars);
  71.  
  72. myCars.FindAll(arg2).ForEach(arg3);
  73. }
  74.  
  75. private static void PrintCollection(List<Car> cars)
  76. {
  77. foreach (var car in cars)
  78. {
  79. string empty = String.Empty;
  80. for (int i = 0; i < car.Model.Length % 4; ++i)
  81. empty += ' ';
  82. Console.WriteLine("Model: {0}{1}, Moc silnika: {2}, Rok: {3}", empty, car.Model, car.Motor.HorsePower, car.Year);
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement