Поиск по этому блогу

Показаны сообщения с ярлыком Повторяющийся символ. Показать все сообщения
Показаны сообщения с ярлыком Повторяющийся символ. Показать все сообщения

пятница, 11 мая 2012 г.

Подсчёт повторных вхождений символов

Задача: написать программу, которая будет подсчитывать сколько раз тот или иной символ повторялся в ведённом предложении. Для решения задачи использовалось регулярное выражение.
Как работает:
  1. вводится предложение
  2. создаётся массив чаров, куда конвертируется это предложение
  3. создаётся массив List
  4. запускается цикл по длине введённого предложения
  5. создаём 2 переменные - одна счётчик, другая равна букве из предложения
  6. проверяем символ на соответствие букве или цифре
  7. если это буква или цифра, то записываем в List
  8. подсчитываем вхождение каждого символа.


            Console.Write("Введите предложение: ");
            string sentence = Console.ReadLine();
            char[] arr_chr = sentence.ToCharArray();
            List<char> charList = new List<char>();
            for (int i = 0; i < sentence.Length; i++)
            {
                char chr = arr_chr[i];
                int includes = 0;
                //это проверка, что символ буква
                // Regex.IsMatch - Указывает, обнаружено ли в указанной входной строке соответствие 
                //заданному регулярному выражению
                if (Regex.IsMatch(chr.ToString(), @"[а-я]|[А-Я]|[A-Z]|[a-z]|[0-9]+$") && !charList.Contains(chr))
                {
                    charList.Add(chr);
                    for (int j = 0; j < sentence.Length; j++)
                        if (chr == arr_chr[j])//подсчитываем вхождения каждого символа
                            includes++;
                    Console.Write(chr.ToString() + "=" + includes + "\t");
                }
            }
            Console.ReadKey(true);

среда, 25 апреля 2012 г.

Удаление повторяющегося символа из массива

Данный код удаляет все повторяющиеся символы из массива, а потом перезаписывает результатт в новый массив.

static void Main()
        {
            var list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 4, 6, 8, 9, 0 };
            var newlist = new List<int>(list.Distinct());
            foreach (var i in newlist)
            {
                Console.WriteLine(i);
            }
        }

вторник, 24 апреля 2012 г.

Повторяющаяся цифра

Программа показывает цифру из введённой стркоки, которая появлялась чаще.


int[] mas = new int[10];
            string s = Console.ReadLine();
            for (int i = 0; i < s.Length; i++)
            {
                if (s[i] >= '0' & s[i] <= '9')
                {
                    int n = Int32.Parse(s[i].ToString());
                    mas[n]++;
                }
            }
            int max = 0;
            int no = 0;
            for (int i = 0; i < 10; i++)
                if (mas[i] > max)
                {
                    no = i;
                    max = mas[i];
                }
            Console.WriteLine("Макс часто встречается: " + no);
            Console.ReadKey();

Пояснение к строкам
int n = Int32.Parse(s[i].ToString());
mas[n]++;

в N ложится число
В массиве с индексом N увеличивается значение на 1

Вот как - то так!