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

Сумма элементов массива рекурсивно - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами строки столбцы матрицы http://www.cyberforum.ru/cpp-beginners/thread691879.html
Дана матрица размера N x m. Поменять местами строки столбцы, содержащие минимальный и максимальный элементы матрицы.
C++ Цикл for Как написать этот код с помощью внешнего и внутреннего циклов for?внутренний должен занимается печатанием символов 'X',а внешний осуществляет переход на одну строку вниз. #include <iostream> #include <iomanip> int main() { using namespace std; cout<<setw(20)<<"x"<<endl; http://www.cyberforum.ru/cpp-beginners/thread691869.html
Определить существует ли треугольник со сторанами хранящимися в структуре C++
Написать программу позволяющую определить, существует ли треугольник с заданными сторонами. Длины стороны треугольника хранить в специальной структуре (a,b,c). Входные данные вводить задать программно (a=1, b=3, c=5).
C++ Изобразить последовательно зацепленными N шестерней с заданными параметрами
Изобразить в зацеплении две шестерни (зубчатых колеса) какого – либо механизма; диаметры шестерен и количество зубьев задаются. РАЗВИТИЕ ЗАДАЧИ. Изобразить последовательно зацепленными n шестерен с заданными параметрами; при необходимости смасштабировать чертеж до размеров экрана.
C++ Считать текст из файла и вывести все его предложения в обратном порядке http://www.cyberforum.ru/cpp-beginners/thread691845.html
с++(желательно в коде cout) 1) надо решить с помощью двумерного массива: дана прямоугольная целочисленная матрица. Определить: а) количество строк содержащих хотя бы 1 нулевой элемент б) номер столбца, в котором находится самая длинная серия одинаковых элементов 2) написать прогу которая считывает текст из файла и выводит все его предложения в обратном порядке
C++ Поменять местами два элемента двусвязного списка Доброго времени суток. Помогите пожалуйста с задачей. Необходимо реализовать функцию, которая меняет местами два элемента в двусвязном списке. Если элементы находятся где-то в середине списка, то затруднений не возникает, но как учесть случаи, когда один из элементов первый или последний, или один - первый, а другой последний? подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
08.11.2012, 12:55     Сумма элементов массива рекурсивно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int sum(int *a,int n){
    if(n>0)
        return a[n]+sum(a,n-1);
    else
        return a[n];
}
 
void main(){
    printf("Vvedite razmer massiva: ");
    int n;
    scanf("%d",&n);
    int *a=new int[n];
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    printf("Summa ravna: %d\n",sum(a,n-1));
    printf("Mas: ");
    for(int i=0;i<n;i++)
       printf("%d ",a[i]);
}
но как в ЭТОЙ ЖЕ рекурсивной функции поменять значения ума не приложу...
как бы не делался счет с последнего элемента или с первого вы сначала берете первый/последний элемент, это есть ваша сумма, потом берете второй/предпоследний элемент и у вас сумма эти 2 элемента и т.д т.е сумма все время меняется и на "обратном ходу" у рекурсии будет опять же разные суммы...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru