Подсчитать количество вхождений различных прописных латинских букв - C#
Формулировка задачи:
При решении использовать Dictionary.
Дана строка.
Подсчитать количество вхождений различных прописных латинских букв.
(осталось выполнить только это условие) Вывести те буквы, которые встречаются в исходной строке наиболее часто.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите строку: ");
string str = Console.ReadLine();
char[] newStr = str.ToCharArray();
Dictionary<char, int> mas = new Dictionary<char, int>();
foreach (char ch in newStr)
{
if (mas.ContainsKey(ch)) mas[ch]++;
else mas.Add(ch, 1);
}
int max = mas.Values.Max();
Console.WriteLine("\nБольше всего раз встречается(-ются) символ(-ы): ");
foreach (char el in mas.Keys)
{
if (mas[el] == max) Console.WriteLine("{0} - {1} раз(а).", el, mas[el]);
}
Console.WriteLine();
}
}
}Решение задачи: «Подсчитать количество вхождений различных прописных латинских букв»
textual
Листинг программы
Console.Write("Введите строку: ");
string str = Console.ReadLine();
Dictionary<char, int> mas = new Dictionary<char, int>();
for(char i = 'A'; i <= 'Z'; i++)
{
if (str.Contains(i))
{
mas[i] = str.Count(c => c == i);
}
}
Console.WriteLine("\nБольше всего раз встречается(-ются) символ(-ы): ");
foreach (var kv in mas.OrderByDescending(kv => kv.Value).Take(5)) // сортируем по убыванию и берем 5 первых результатов
{
Console.WriteLine("{0} - {1} раз(а).", kv.Key, kv.Value);
}
Console.WriteLine();