Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 10.12.2014
Сообщений: 12
1

Рекурсия. Найти количество появлений определенной буквы в слове

15.05.2015, 05:24. Показов 1467. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно найти количество появлений определенной буквы в слове с помощью рекурсии. Метод написал, но в нем нет рекурсии. Как можно переписать код в рекурсию?

C#
1
2
3
4
5
6
7
8
9
10
11
12
 public int Count(string str, char c)
        {
            int count = 0;
 
            for (int i = 0; i < str.Count(); i++)
                if (str[i] == c)
                {
                    count++;
                }
 
            return count;
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2015, 05:24
Ответы с готовыми решениями:

Найти количество появлений каждой буквы во введенном слове
Друзья! Пожалуйста помогите решить задачу. Нужно вывести все из введеной строки кол-во каждой...

Определить количество появлений в строке последней буквы имени
Вот такая головная запара...!!! условие такое. Строка, состоящая из имени и отчества студента...

Определить количество появлений в строке второй буквы отчества
Строка состоящая из отчества и имени студента заканчивается восклицательным знаком.Определить...

Найти количество слов в предложении начинающихся с определенной буквы
Надо сделать так что бы в один edit можно было занести предложение, в другой edit букву, и при...

1
740 / 284 / 83
Регистрация: 12.12.2012
Сообщений: 565
15.05.2015, 18:26 2
Два варианта. Я бы забрал второй.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
 
namespace Console1
{
    class Program
    {
        static int CustomComp(char symb1, char symb2)
        {
            return symb1 == symb2 ? 1 : 0;
        }
 
        static int Count(string msg, char symb, int idx) // #1
        {
            if (idx == 0)
                return CustomComp(msg[idx], symb);
 
            return CustomComp(msg[idx], symb) + Count(msg, symb, idx - 1);
        }
 
        static int Count(string msg, char symb, int lft, int rht) // #2
        {
            if (lft == rht)
                return CustomComp(msg[lft], symb);
 
            int mid = lft + (rht - lft) / 2;
            int t1 = Count(msg, symb, lft, mid);
            int t2 = Count(msg, symb, mid + 1, rht);
 
            return t1 + t2;
        }
 
        static void Main()
        {
            string str = "Нужно найти количество появлений определенной буквы в слове с помощью рекурсии.";
            Console.WriteLine(str);
 
            char ch = 'о';
            Console.WriteLine("{0}: {1}", ch, Count(str, ch, str.Length - 1));
            Console.WriteLine("{0}: {1}", ch, Count(str, ch, 0, str.Length - 1));
        }
    }
}
0
15.05.2015, 18:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2015, 18:26
Помогаю со студенческими работами здесь

Замена определённой буквы в слове, метод replace()
Привет Понимаю что глупый вопрос конечно, но чего-то застрял на этом Задача - угадывать буквы...

Определить количество появлений в строке с именем и отчеством последней буквы имени
Строка, состоящая из имени и отчества студента, заканчивается точкой. Определить количество...

В слове наименьшей длины удалить все гласные буквы и подсчитать их количество в слове
Помогите плиз написать программу: Дан массив из n слов произвольной длины (длина слова не...

Определить количество появлений буквы "А" в строке
Напиши пожалуйста программу, которая: а) определяет кол-во появлений буквы &quot;А&quot; в строке б)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru