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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Яна Грач
9 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 27
#1

Задание... о золотой горе с использованием рекурсии - C++

16.01.2011, 20:21. Просмотров 1443. Ответов 8
Метки нет (Все метки)

Пути в числовом треугольнике начинаются от верхнего числа. От любого числа можно перейти к одному из двух соседних чисел в следующей строке. Вычислить максимальную среди сумм чисел, расположенных на путях, заканчивающихся каким-нибудь числом в основании треугольника, и найти один из путей с этой суммой. В следующем треугольнике он образован выделенными числами:
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Пожалуйста, мне срочно надо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2011, 20:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задание... о золотой горе с использованием рекурсии (C++):

задание по рекурсии - C++
Помогите девушке. Задание: Построить синтаксический анализатор для понятия "скобки". скобки::=А | скобка скобки скобка::=( B...

С Использованием рекурсии! - C++
Привет! Есть задачка (она уже сделанная, ее у меня приняли): Во входном файле задана последовательность положительных вещественных...

Сортировка с использованием рекурсии - C++
Здравствуйте. Задание : Написать рекурсивную функцию сортировки массива. Помогите пожалуйста найти алгоритмическую ошибку, так как...

Переписать функции с использованием рекурсии - C++
Подскажите как сделать функцию VYVOD и ADD через рекурсию . #include<iostream.h> #include<conio.h> #include<stdio.h> ...

Алгоритм Евклида с использованием рекурсии - C++
Моя реализация алгоритма Евклида с использованием рекурсивной функции. //Program finds greatest common divisor of two natural numbers....

Решить задачу с использованием рекурсии - C++
Функция f(n) определена для целых положительных чисел следующим образом: f(n)=1, если n=1 или f(n)=сумма f(nDIVi) по i от 2 до...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sandye51
программист С++
684 / 586 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
16.01.2011, 20:27 #2
это np трудная задача, никто ее еще не решил
0
Яна Грач
9 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 27
16.01.2011, 20:28  [ТС] #3
Ай, яй, яй...ну как так......
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.01.2011, 20:37 #4
Яна Грач, Напишите, как ввод осуществляется. И что нужно вывести на экран: только максимальную сумму, или еще и весь путь? Может что-нибудь придумаем...
0
Яна Грач
9 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 27
16.01.2011, 20:40  [ТС] #5
Я задавала двумерным массивом.(внизу диагонали)
Вывести только сумму.Этим немного облегчается решение.....
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.01.2011, 21:04 #6
Проверяйте:
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
27
28
29
30
31
32
33
34
35
#include<iostream>
using namespace std;
int main()
{
    int **a, N, i, j, **b;
    cout<<"Kol-vo strok treugolnika: ";
    cin>>N;
    a=new int*[N];
    b=new int*[N];
    for(i=0; i<N; i++)
    {
        a[i]=new int[N];
        b[i]=new int[N];
        for(j=0; j<=i; j++)
            b[i][j]=0;
    }
    for(i=0; i<N; i++)
        for(j=0; j<=i; j++)     
            cin>>a[i][j];
    b[0][0]=a[0][0];
    for(i=0; i<N-1; i++)
        for(j=0; j<=i; j++) 
        {
            if(b[i+1][j]<b[i][j]+a[i+1][j])
                b[i+1][j]=b[i][j]+a[i+1][j];
            if(b[i+1][j+1]<b[i][j]+a[i+1][j+1])
                b[i+1][j+1]=b[i][j]+a[i+1][j+1];
        }
    int max=b[N-1][0];
    for(i=1; i<N; i++)
        if(b[N-1][i]>max)
            max=b[N-1][i];
    cout<<"Max summ= "<<max<<endl;   
    return 0;
}
1
sandye51
16.01.2011, 21:07
  #7

Не по теме:

valeriikozlov, память освобождать не надо?)

0
Яна Грач
9 / 2 / 0
Регистрация: 14.04.2010
Сообщений: 27
16.01.2011, 21:09  [ТС] #8
Спасибо)))) Отлично работает)))
0
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.01.2011, 21:25 #9
sandye51, надо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2011, 21:25
Привет! Вот еще темы с ответами:

Выполнить задачу с использованием рекурсии - C++
Есть одномерный массив длиной N, заполненный числами от -10 до 10. Найти максимальную сумму, если можно брать следующий элемент, или через...

решение задач с использованием рекурсии - C++
Ув Форумчане подскажите пожалуйста либо ресурс где это можно прочитать мне нужно эту тему расписать помогите пожалуйста :)

Решение уравнения методом бисекции с использованием рекурсии - C++
Добрый день! Задачу задали в универе... Написать-то написал, сам метод халявный, но с рекурсией что-то запарился. 1....

Вычислении функции разложением ее в ряд с использованием рекурсии - C++
Составить программу вычисления заданной математической функции путем разложения ее в ряд. Программа должна применять рекурсивную функцию...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.01.2011, 21:25
Ответ Создать тему
Опции темы

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