Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > рекурсия с++


Автор: Aleksandra24 16.7.2013, 16:53
Здравствуйте, мальчики!!!Помогите мне переделать мою программку на рекурсию!!!!Буду очень благодарна!!!!Вы меня очень сильно выручите!!!!
У меня такое задание : Определить количество нечетных элементов последовательности вводимой с клавиатуры...Мне нужно сделать чтоб она была с рекурсией....помогите...
Вот код я написала ее только без рекурсии помогите прошу!!!
Код
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
int main()
{
int n, sum = 0;

cout<<"Vvedite elementi posledovatelnosti:\n";
do{
cin>>n;
sum += abs(n%2);
}
 while (n);
 cout<<"Summa nechetnix elementov ravna:"<<sum<<"\n";
 system("pause");
 return 0;
 }


Спасибо огромное заранее!!!!

Модератор: Не забываем пользоваться кнопочкой "Код"

Автор: feodorv 16.7.2013, 17:37
Цитата(Aleksandra24 @  16.7.2013,  17:53 Найти цитируемый пост)
Вот код я написала

Эм... Как бы это по-мягче сказать. Программа не считает "количество нечетных элементов последовательности". Программа не считает и "Summa nechetnix elementov". Программа считает непонятную сумму, смысл которой скрыт семью покрывалами Исиды smile 

Автор: Aleksandra24 16.7.2013, 17:41
почему мне нужно посчитать в программе сколько нечетных переменных вводится .....а что не  так я не понимаю???объясните!!!

Автор: bsa 16.7.2013, 17:51
feodorv, ты не поверишь. Но она считает! abs(n%2) возвращает 0 для четных и 1 для нечетных. В итоге sum - это количество нечетных.

Aleksandra24
Код
#include <iostream>

int func(std::istream &in)
{
   int n;
   if (!(in >> n) || (n == 0))
     return 0;
   return (n % 2) + func(in);
}

int main()
{
   cout<<"Vvedite elementi posledovatelnosti\n(dlya zaversheniya vvedite 0): " << std::flush;
   int sum = func(std::cin);
   cout<<"Summa nechetnix elementov ravna: " << sum << std::endl;
   return 0;
}

Автор: feodorv 16.7.2013, 18:42
Цитата(bsa @  16.7.2013,  18:51 Найти цитируемый пост)
 ты не поверишь

Поверю!!!
Прошу прощения, невнимательно посмотрел)))

Автор: Aleksandra24 16.7.2013, 22:25
Ну вот ,а то сразу накинулись, на беззащитную девушку))))
А вы мне написали программу уже с рекурсией???

Добавлено через 5 минут и 10 секунд
Спасибо большое feodorv ты меня очень выручил!!!!!!!!!!!!!!!

Автор: feodorv 17.7.2013, 06:21
Цитата(Aleksandra24 @  16.7.2013,  23:25 Найти цитируемый пост)
Спасибо большое feodorv ты меня очень выручил!!!!!!!!!!!!!!! 

Это не я (я набросился), а выручил bsa smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)