Определить пять наиболее часто встречающихся ответов и их долей в процентах - C#
Формулировка задачи:
Радиокомпания провела опрос слушателей (не более 500) по вопросу:
«Кого вы считаете человеком года?». Определить пять наиболее часто
встречающихся ответов и их долей (в процентах от общего количества
ответов).
Решение задачи: «Определить пять наиболее часто встречающихся ответов и их долей в процентах»
textual
Листинг программы
using System;
using System.Linq;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Адрес файла: ");
string path = Console.ReadLine();
if (File.Exists(path))
{
string[] s = File.ReadAllLines(path).ToArray();
if (s.Length <= 500)
{
var n = s.GroupBy(v => v).OrderByDescending(v => v.Count()).Take(3);
foreach (var pos in n)
Console.WriteLine(pos.First() + " - " + ((double)s.Length / 100) * pos.Count() + "%");
}
else
Console.WriteLine("Значений больше 500!");
}
else
Console.WriteLine("Файла не существует!");
Console.ReadKey();
}
}
}