Форум программистов, компьютерный форум 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++ Поменять местами два элемента двусвязного списка Доброго времени суток. Помогите пожалуйста с задачей. Необходимо реализовать функцию, которая меняет местами два элемента в двусвязном списке. Если элементы находятся где-то в середине списка, то затруднений не возникает, но как учесть случаи, когда один из элементов первый или последний, или один - первый, а другой последний? подробнее

Показать сообщение отдельно
fox_
0 / 0 / 0
Регистрация: 28.12.2011
Сообщений: 23
09.11.2012, 11:43  [ТС]     Сумма элементов массива рекурсивно
Цитата Сообщение от ZubSam Посмотреть сообщение
то есть сначала , подсчитать кол-во элементов, потом заменить все элементы массива которые меньше нуля, суммой элементов которые меньше нуля или суммой всех элементов ?
Нет заменить суммой всех элементов, элементы которые меньше нуля. И все в одной функции.



Добавлено через 1 минуту
Цитата Сообщение от MrGrig Посмотреть сообщение
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 элемента и т.д т.е сумма все время меняется и на "обратном ходу" у рекурсии будет опять же разные суммы...
Как подсчитать саму сумму то понятно, и это просто, а вот как в этой же заменить... не понимаю...

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