Форум программистов, компьютерный форум CyberForum.ru

Перебрать все слова длиной не более n, составленные из букв "а" и "b" - C++

Восстановить пароль Регистрация
 
nikesb
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 23
27.12.2013, 09:36     Перебрать все слова длиной не более n, составленные из букв "а" и "b" #1
Перебрать все слова длиной не более n, составленные из букв "а" и "b".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2013, 09:36     Перебрать все слова длиной не более n, составленные из букв "а" и "b"
Посмотрите здесь:

C++ Вводится последовательность слов до встречи слова "stop". Образовать предложение, в котором разместить слова, состоящие более чем из 5 букв.
C++ Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии
C++ работа со строкой: как заменить сочетание букв "л*г" на "лаг"
C++ разработать программу для работы со строками: найти и заменить в ней все символы "а" на "b"
Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.12.2013, 16:15     Перебрать все слова длиной не более n, составленные из букв "а" и "b" #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
#include <iostream>
using namespace std;
char a[100];
void rec(int N, int i)
{
    if(i==N)
    {
        for(int j=0; j<N; j++)
            cout<<a[j];
        cout<<endl;
        return;
    }
    a[i]='a';
    rec(N, i+1);
    a[i]='b';
    rec(N, i+1);
}
int main()
{
int n;
cin>>n;
rec(n, 0);
return 0;
}
nikesb
0 / 0 / 0
Регистрация: 11.12.2013
Сообщений: 23
28.12.2013, 17:03  [ТС]     Перебрать все слова длиной не более n, составленные из букв "а" и "b" #3
valeriikozlov, спс а можете прокоментировать код?) и обьяснить его плииииз)
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2013, 17:57     Перебрать все слова длиной не более n, составленные из букв "а" и "b" #4
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
#include <iostream>
using namespace std;
char a[100];
void rec(int N, int i)//рекурсивная функция
{
    if(i==N)//если i равен N, то выводим все символы из массива а[] на экран и делаем переход на новую строку
    {
        for(int j=0; j<N; j++)
            cout<<a[j];
        cout<<endl;
        return;
    }
    a[i]='a';//в очередное место (по индексу i) ставим символ 'a'
    rec(N, i+1);// и вызываем рек. функцию
    a[i]='b';//в очередное место (по индексу i) ставим символ 'b'
    rec(N, i+1);// и вызываем рек. функцию
}
int main()
{
int n;
cin>>n;
rec(n, 0);// вызываем рек. функцию
return 0;
}
Yandex
Объявления
28.12.2013, 17:57     Перебрать все слова длиной не более n, составленные из букв "а" и "b"
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru