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

Помогите написать рекурсивную функцию - C++

Восстановить пароль Регистрация
 
sasha2513
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 7
10.12.2010, 11:04     Помогите написать рекурсивную функцию #1
нужно написать рекурсивную функцию, которая определяет произведение введенных негативных действительных чисел х (условием завершения вычислений считать введение положительного числа).

но у меня во всех случаях произведение =0
помогите исправить!

код программы:
Текст программи:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream.h>
#include<conio.h>
float sum_el()
{float x=1,s=0;
while(x<=0)
{
cin>>x;
s=s*x;}
return s;}
void main()
{clrscr();
float s;
cout<<"\n vvedi videmni chisla";
s=sum_el();
cout<<"\n dobutok videmnuh chisel = "<<s<<" ";
getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2010, 11:04     Помогите написать рекурсивную функцию
Посмотрите здесь:

Написать рекурсивную функцию вычисления сочетания n то k C++
C++ Написать рекурсивную функцию
C++ Написать рекурсивную функцию вычисления НОД
C++ Написать рекурсивную функцию вычисления корня уравнения f(x)=0
Написать рекурсивную функцию вычисления полинома: C++
C++ Написать рекурсивную функцию в целочисленном массиве
Написать рекурсивную функцию вычисления C++
Написать рекурсивную функцию НОД C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
solar_wind
 Аватар для solar_wind
740 / 731 / 39
Регистрация: 06.07.2009
Сообщений: 2,937
Завершенные тесты: 1
10.12.2010, 11:24     Помогите написать рекурсивную функцию #2
1. если ноль умножать на любое число получится 0, а s у тебя инициализируется нулем
2. в данной программе рекурсии вообще нет

Добавлено через 5 минут
Тебе нужно наверное так:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
float sum_el()
{
    float x;
    cin>>x;
    if(x<0) return x*sum_el();
    else return 1;
}
 
void main()
{
    clrscr();
    float s;
    cout<<"\n vvedi videmni chisla";
    s=sum_el();
    cout<<"\n dobutok videmnuh chisel = "<<s<<" ";
    getch();
}
sasha2513
0 / 0 / 0
Регистрация: 03.11.2010
Сообщений: 7
10.12.2010, 18:34  [ТС]     Помогите написать рекурсивную функцию #3
понял, спасибо!
Yandex
Объявления
10.12.2010, 18:34     Помогите написать рекурсивную функцию
Ответ Создать тему
Опции темы

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