Сравнение массивов - C# (180860)
Формулировка задачи:
Добрый день
Задание такое: Строка, содержащая произвольный русский текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте.
После долгих мучений код вышел такой:
Проблема с тем, что не воспринимает k в 16, 17, 18 строчке: "Имя k не существует в данном контексте"
Как это можно исправить?
char[] arr= new char[199]; char[] arr1 = { 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ','ы', 'ь', 'э', 'ю', 'я' }; int[] s=new int [199]; for (int k=0; k<s.Length; k++) { s[k] = 0; } for (int i = 0; i < arr.Length; i++) { arr[i] = Convert.ToChar(Console.Read()); for (int j = 0; j < arr1.Length; j++) { if (arr[i] == arr1[j]) s[k]++; if (s[k] != 0) Console.WriteLine("буква " + arr[i] + " повторяется " + s[k] + " раз"); } } Console.ReadKey();
Решение задачи: «Сравнение массивов»
textual
Листинг программы
using System; using System.Linq; class test { static void Main() { Console.WriteLine("введите строку : "); string s = Console.ReadLine(); var lettersinfo = s.Where(x=>char.IsLetter(x)).GroupBy(x => s.Count(y => y == x)).OrderBy(x=>x.Key) .Select(x => new { x.Key, ltrs = String.Join(", ",x.Distinct()) }); Console.WriteLine(); foreach(var grp in lettersinfo) Console.WriteLine("буквы, встречающиеся >{0}< раз\n{1}\n",grp.Key,grp.ltrs); Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д