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

Выполнить задачу с использованием рекурсии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ создать класс ArrayOfInt - массив целых чисел http://www.cyberforum.ru/cpp-beginners/thread1040875.html
Разработать класс ArrayOfInt - массив целых чисел
C++ list<map> добавление элемента Подскажите пожалуйста, как добавить элемент в list<map>. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1040874.html
Класі String C++
Как разработать класс String - строка символов. Реализовать операции присваивания и конкатенацию т.е. слияние двух строк. Размер строки динамически увеличивается в процессе работы со строкой по мере...
Вычисление значения функции C++
помогите под цифрой 1 на фото если не понятно. то во втором уравнении в знаменателе х^3
C++ "Программа оформляется как набор модулей" http://www.cyberforum.ru/cpp-beginners/thread1040856.html
Привет. Делаю лабораторную по программированию, точнее уже сделал. Но в задании написано: Программа оформляется как набор модулей: главный, модуль работы со строками, модуль работы с файлами. Как...
C++ Необходимо составить программу, выводящую на экран матрицу данного вида (подробнее внутри) Здравствуйте. Необходимо составить программу (желательно дополнить мой фрагмент программы, приведенный ниже), которая выводит на экран квадратную матрицу A размером n × n . Входные данные: n –... подробнее

Показать сообщение отдельно
Чорний кот
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 20

Выполнить задачу с использованием рекурсии - C++

14.12.2013, 11:53. Просмотров 241. Ответов 1
Метки (Все метки)

Есть одномерный массив длиной N, заполненный числами от -10 до 10. Найти максимальную сумму, если можно брать следующий элемент, или через один.
Я не могу понять как правильно её организовать
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
using namespace std;
int S(int n, int a[],int rez){
    cout << n << endl;
    if (a[n]>a[n - 1]){ rez = a[n] + S((n - 1), a,rez); }
    else rez = a[n] + S((n - 2),a,rez);
    cout << "summa: " << rez << endl;
    if (n == 0) return rez;
}
 
int main()
{
    int let[11] = { 1, 1, -2, -1, -1, 1, 1, 1, 1, 1 };
    cout << "maximal'na summa:" << S(3, let, 0) << endl;
    system("PAUSE");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru