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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LordSilren
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 32
#1

Рекурсивная функция для вычисления суммы элементов арифметической прогрессии - C++

25.12.2012, 17:43. Просмотров 416. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>
 
int pr(int n, int a1, int d,int sum)
{
if(n==1) return a1;
sum=a1+(n-1)*d+pr(n-1,a1,d);
return sum;
}
 
int main()
{
  int n,a1,d,sum;
    printf("Vvedite kol-vo elementov arifm. progressii \n");
    scanf("%d",&n);
    printf("Vvedite pervij element arifm. progressii \n");
    scanf("%d",&a1);
    printf("Vvedite raznost' elementov arifm. progressii \n");
    scanf("%d",&d);
 pr(n,a1,d,sum);
    printf("Summa elemenov arifm. progressii = %d",sum);
getch();
}
pr: функция не принимает 3 аргументов
в чем ошибка?

Добавлено через 36 минут
p.s так и не нашел ошибку...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2012, 17:43     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии
Посмотрите здесь:

C++ Написать программу для нахождения суммы членов арифметической прогрессии
C++ Вычисления n-го члена арифметической прогрессии
Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. C++
C++ Рекурсивная функция вычисления суммы бесконечного ряда
C++ Вычисление суммы арифметической прогрессии рекуррентным способом
C++ Рекурсивная функция для вычисления арифметической функции
Функция для вычисления суммы элементов матрицы кратных 3 C++
Рекурсивная функция для нахождения n-го члена / суммы n первых членов геометрической прогрессии C++
C++ Рекурсивная функция вычисления умножения элементов одномерного массива
C++ Составить программу вычисления суммы арифметической прогрессии
C++ Составьте программу вычисления суммы 150 первых членов арифметической прогрессии, если a1 = –200; d = 0,2
Рекурсивная функция нахождения суммы арифметической прогрессии C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
25.12.2012, 18:18     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии #2
функция принимает 4, а в этом вызове сколько?
C++
1
pr(n-1,a1,d);
Добавлено через 7 минут
LordSilren, Исправил ваш код:
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
#include <stdio.h>
#include <conio.h>
 
int pr(int n, int a1, int d,int& sum)
{
    if(n==1) return a1;
    sum=a1+(n-1)*d+pr(n-1,a1,d, sum);
    return sum;
}
 
int main()
{
    int n,a1,d,sum = 0;
    
    printf("Vvedite kol-vo elementov arifm. progressii \n");
    scanf("%d",&n);
    printf("Vvedite pervij element arifm. progressii \n");
    scanf("%d",&a1);
    printf("Vvedite raznost' elementov arifm. progressii \n");
    scanf("%d",&d);
 
    pr(n,a1,d,sum);
    printf("Summa elemenov arifm. progressii = %d",sum);
 
    getch();
}
LordSilren
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 32
25.12.2012, 18:35  [ТС]     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии #3
SeregaC++, благодарю

Добавлено через 9 минут
еще проблема..если вводить кол-во элементов=1, 1-й элемент=1, а разность=0 он выводит 0..
пытался написать проверку после ввода кол-ва и 1-го элемента,но что-то не получается..
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
25.12.2012, 18:40     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии #4
LordSilren, замените 13-ю строку (int n,a1,d,sum = 0;), на эту: int n,a1,d,sum = 1;
LordSilren
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 32
25.12.2012, 18:44  [ТС]     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии #5
SeregaC++, немного не так,он должен проверить n после его ввода и ввода 1-го элемента,чтоб не вводить разность
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
25.12.2012, 18:50     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии #6
LordSilren, ну так добавьте проверку.
Yandex
Объявления
25.12.2012, 18:50     Рекурсивная функция для вычисления суммы элементов арифметической прогрессии
Ответ Создать тему
Опции темы

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