Агрегирование, вывести часть данных таблицы отдельно - C#

Узнай цену своей работы

Формулировка задачи:

Помогите не знаю как вывести часть данных таблицы отдельно например что бы после результата ниже выводилось все Типы или Номера рейса из таблицы Вот сама прога
Листинг программы
  1. using System;
  2. using System.Linq;
  3. class Flight
  4. {
  5. public string T { get; private set; }
  6. public int R { get; private set; }
  7. public int Z { get; private set; }
  8. public int K { get; private set; }
  9. public double S { get { return (double)Z / K; } }
  10. public Flight(string T, int R, int Z, int K)
  11. {
  12. this.T = T;
  13. this.R = R;
  14. this.Z = Z;
  15. this.K = K;
  16. }
  17. }
  18. class Program
  19. {
  20. static void Main()
  21. {
  22. // Массив:
  23. var flights = new Flight[ReadInt("Общее число")];
  24. for (int i = 0; i < flights.Length; i++)
  25. {
  26. Console.WriteLine();
  27. Console.WriteLine($"Информация о №{i + 1}:");
  28. flights[i] = new Flight(
  29. ReadString("T. Тип"),
  30. ReadInt("R. Номер Рейса"),
  31. ReadInt("Z. Общая стоимость"),
  32. ReadInt("K. Число мест"));
  33. }
  34. var template = "{0,4} |{1,15} |{2,15} |{3,15} |{4,15} |{5,15:F2}";
  35. var line = new string('=', 89);
  36. Console.WriteLine();
  37. Console.WriteLine("Сводка:");
  38. Console.WriteLine(template, "№", "T", "R", "Z", "K", "S");
  39.  
  40. for (int i = 0; i < flights.Length; i++)
  41. {
  42. var f = flights[i];
  43. Console.WriteLine(template, i + 1, f.T, f.R, f.Z, f.K, f.S);
  44. }
  45. Console.WriteLine(line);
  46. Console.WriteLine(template, "", "", "",
  47. flights.Sum(f => f.Z),
  48. flights.Sum(f => f.K),
  49. flights.Average(f => f.S));
  50. Console.ReadLine();
  51. }
  52. static string ReadString(string Label) => ReadValue(Label, s => s);
  53. static int ReadInt(string Label) => ReadValue(Label, int.Parse);
  54. static T ReadValue<T>(string Label, Func<string, T> Pipe = null)
  55. {
  56. while (true)
  57. {
  58. Console.Write($"{Label}: ");
  59. try { return Pipe(Console.ReadLine()); }
  60. catch
  61. {
  62. Console.SetCursorPosition(0, Console.CursorTop - 1);
  63. Console.WriteLine(new string(' ', Console.BufferWidth));
  64. Console.SetCursorPosition(0, Console.CursorTop - 2);
  65. Console.SetCursorPosition(0, Console.CursorTop - 3);
  66. }
  67. }
  68. }
  69. }

Решение задачи: «Агрегирование, вывести часть данных таблицы отдельно»

textual
Листинг программы
  1. Console.Write("Типы рейсов: ");
  2. Console.WriteLine(String.Join(", ", flights.Select(f => f.T).Distinct()));
  3. Console.Write("Номера рейсов: ");
  4. Console.WriteLine(String.Join(", ", flights.Select(f => f.R)));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы