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

Как переделать под динамическое программирование? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задачка.Нужно найти ошибку http://www.cyberforum.ru/cpp-beginners/thread1043420.html
Изначальное условие задачи: Составить программу поисков всех чисел палиндромов до n(n вводится с клавиатуры), которые при возведение в квадрат также дает палиндром.(Без массивов и функций) Я решил сделать пока только поиск палиндромов и вывод их. Вот что у меня получилось: unsigned long int n, p = 0, o, v, i = 10; cout << "Введите число" << endl; cin >> n; for ( ;i <= n;i++){ o =...
C++ Двумерный массив-матрица помогите,пожалуйста. Нужно составить программу, которая выводит на экран квадратную матрицу A размером n*n . Входные данные: n – порядок матрицы. Значение n вводится с клавиатуры, является нечетным целым числом в диапазоне 2<n<24. Выходные данные: матрица A – двумерный целочисленный массив. Значения элементов матрицы A выводятся на экран монитора с выравниванием столбцов по младшему... http://www.cyberforum.ru/cpp-beginners/thread1043414.html
C++ Помогите исправить ошибку: string не найден оператор
Когда хочу напечатать строку string то появляется ошибка что не найден оператор #include <iostream> #include <fstream> using namespace std; int main() { setlocale(LC_ALL, "Russian");
C++ Уменьшение числа на единицу через каждые два шага
Здравствуйте. Нужна формула, при которой число уменьшается на единицу через каждые два шага при выполнении цикла. Заранее благодарен:)
C++ Программа кодирования и декодирования http://www.cyberforum.ru/cpp-beginners/thread1043392.html
Написать программу кодирования и декодирования последовательности символов длины N. Алгоритм кодирования заключается в следующем. Строится таблица, каждая строка которой содержит следующую информацию: символ, ко-личество вхождений символа в последовательность, порядок вхождения символа в последовательность. ____________________________ Нужно вот это реализовать, плата за ваш труд также...
C++ Сортировка массивов 1.Задано одномерный массив A(20). Упорядочить по возрастанию все положительные элементы с непарными индексами (желательно методом вставки ). 2.Задан двумерный массив A(5,4) .Упорядочить по спаданию положительные элементы всех столбиков матрицы (Пузырьком) . подробнее

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

Как переделать под динамическое программирование? - C++

16.12.2013, 09:46. Просмотров 226. Ответов 1
Метки (Все метки)

Есть одномерный массив длиной N, заполненный числами от -10 до 10. Найти максимальную сумму, если можно брать следующий элемент, или через один.
Условие сделать рекурсию и сократить количество вызовов с помощью динамического программирования.
C++ (Qt)
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
27
28
29
30
31
32
33
34
#include <iostream>
#include <cstdlib>
using namespace std;
int f(int m[], int n, int i = 0, int sum = 0)
{
int a = -20, b = -20;
if (i + 2 < n)
{
a = f( m, n, i + 2, sum + m[i + 2]);
}
if (i + 1 < n){
b = f( m, n, i + 1, sum + m[i + 1]);
}
else return sum;
if (a < b)return b;
else return a;
 
}
int main()
{
int N=0;
cout << "Razmer masuva: "<<endl;
cin >> N;
int let[50];
cout << "Masuv :";
for (int u = 0; u < N; u++)
{
let[u] = rand() %20-10;
cout<<let[u]<<"  ";
};
cout << "maximal'naya summa:" << f(let, N) << endl;
system("PAUSE");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru