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

Задача на рекурсивную функцию - C++

Восстановить пароль Регистрация
 
Anela Kitano
2 / 2 / 1
Регистрация: 11.12.2013
Сообщений: 37
28.04.2014, 11:52     Задача на рекурсивную функцию #1
С помощью рекурсивной функции составить программу нахождения суммы всех нечетных чисел в диапазоне от 1 до 99 включительно.
Вот мой код, но я не знаю, как его исправить.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
int SUM(int n, int sum)
{
if (n<=10)
{
    if(n%2==1)
         sum=sum+n;
         printf("%d/n", sum);
}       
return(SUM(n+1,sum));
        
}
int main ()
{
     SUM(1, 0);
 
_getch();
    return 0;
}
Оно как-бы и легко, но прошу Вас помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 11:52     Задача на рекурсивную функцию
Посмотрите здесь:

C++ Описать рекурсивную функцию
C++ Разработат рекурсивную функцию
C++ Разработать рекурсивную функцию
C++ Написать рекурсивную функцию
C++ Описать рекурсивную функцию stepen (x, n)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D_Ok
43 / 32 / 12
Регистрация: 11.02.2014
Сообщений: 134
28.04.2014, 12:06     Задача на рекурсивную функцию #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
int SUM(int n, int sum)
{
if (n<=10)
{
    if(n%2==1)
         sum=sum+n;
         printf("%d\n", sum);
         return(SUM(n+1,sum));   
}       
return 0;     
}
Байт
 Аватар для Байт
14001 / 8832 / 1234
Регистрация: 24.12.2010
Сообщений: 16,008
28.04.2014, 12:19     Задача на рекурсивную функцию #3
C++
1
2
3
4
5
6
7
8
9
int SUM(int n, int s)
{ if (n==1) return 1;
   return s + n + SUM(n-2, s);
}
int main()
{
  printf(%d\n", SUM(99, 0));
  return 0;
}
Anela Kitano
2 / 2 / 1
Регистрация: 11.12.2013
Сообщений: 37
28.04.2014, 12:22  [ТС]     Задача на рекурсивную функцию #4
D_Ok, спасибо большое. А можете подсказать, как теперь вывести единый ответ? Чтобы сумма была одна?
Denis123456789
43 / 43 / 17
Регистрация: 02.06.2013
Сообщений: 180
28.04.2014, 12:27     Задача на рекурсивную функцию #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
void f (int &sum, int n)
    {
    if (n%2) sum+=n;
    if (n==99) return;
    n++;
    f(sum,n);
}
int main ()
{
  int sum=0;  
    f(sum,0);
cout<<sum;
    return 0;
}
D_Ok
43 / 32 / 12
Регистрация: 11.02.2014
Сообщений: 134
28.04.2014, 12:33     Задача на рекурсивную функцию #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Anela Kitano Посмотреть сообщение
А можете подсказать, как теперь вывести единый ответ? Чтобы сумма была одна?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int SUM(int n, int sum)
{
if (n<=10)
{
    if (n%2==1)
         sum=sum+n;
        // printf("%d\n", sum);
         return(SUM(n+1,sum));    
}       
   return sum;
}
int main ()
{
    std::cout << SUM(1, 0); 
_getch();
    return 0;
}
Yandex
Объявления
28.04.2014, 12:33     Задача на рекурсивную функцию
Ответ Создать тему
Опции темы

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