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

Задача о НОП (динамическое программирование) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ процедура RectPS (перевести с паскаля) http://www.cyberforum.ru/cpp-beginners/thread1034279.html
Привет всем!!!Помогите перевести с паскаля на С++ rectPS(x1, y1, x2, y2, P, S), вычисляющую периметр P и площадь S прямоугольника со сторонами, параллельными осям координат, по координатам (x1, y1), (x2, y2) его противоположных вершин (x1, y1, x2, y2 — входные, P и S — выходные параметры). В качестве результирующего значения функция должна возвращать истину, если прямоугольник не является...
C++ После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений каждого символа. В протоколе символы расположить по алфа После ввода с клавиатуры произвольного строки выдать на экран протокол о количестве вхождений каждого символа. В протоколе символы расположить по алфавиту, отдельными группами для различных алфавитов, другие символы расположить последними; символы не повторять. На С++. Помогите пожалуйста сделать. Вообще не могу понять как ее делать. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1034250.html
C++ Классы, наследование
Доброго времени суток! Объясните пожалуйста, как работает операция "::" на примере этой программы. И работу конструкции Time::Time() : TimeBase() main.cpp #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <iostream>
Определить пересекается ли парабола и прямая C++
Определите, пересекается ли парабола y=cx^2+dx+f и прямая y=ax+b . При положительном ответе найти точки пересечения. Заранее благодарен.
C++ И что делать дальше?Поделитесь опытом http://www.cyberforum.ru/cpp-beginners/thread1034234.html
Итак вопрос немного необычного характера. Дела обстоят так: 1) В университете нам вообще не преподают нормально програмирование 2)Я уже выучила хорошо синтаксис С++ 3)Но синтаксис этот не применение. Из этого вытекает вопрос...как развивать свои умения програмировать на этом языке? Задания вроде "создайте иерархию классов линия - прямоугольник- куб" и " напишите программу которая добавляет...
C++ Вычислить сумму положительных чисел, кратных 3 и не кратных 5 Не могу сделать прогу на c++,можете,пожалуйста,сделать ее для меня? Вводится последовательность чисел признак окончания 0,вычеслить сумму полож. чисел кратных 3 и не кратных 5. подробнее

Показать сообщение отдельно
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
09.12.2013, 16:13     Задача о НОП (динамическое программирование)
Вот, вроде норм работает
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
36
37
38
39
40
41
42
43
#include <cstdio>
#include <cstring>
 
int main() {
    const int N1 = 20;
    const int N2 = 25;
    const int NN = (N1+N2)/2;
 
    int  len[N1+1][N2+1]={{0}};
 
    char str1[N1]="abcdabcd";
    char str2[N2]="abcdaef";
    char nop [NN]="";
 
    for(int i=0;i<strlen(str1);i++)
        for(int j=0;j<strlen(str2);j++) {
            if(str1[i]==str2[j])
                len[i+1][j+1]=len[i][j]+1;
            else 
                if(len[i][j+1]>=len[i+1][j])
                    len[i+1][j+1]=len[i][j+1];
                else
                    len[i+1][j+1]=len[i+1][j];
        }
    int i=strlen(str1)-1,j=strlen(str2)-1;
    int z=NN;
    nop[z] = 0;
    while((i>=0) && (j>=0)) {
        if(str1[i]==str2[j]) {
            --z;
            nop[z]=str1[i];
            i--;
            j--;
        }
        else 
            if(len[i][j+1]>=len[i+1][j])
                i--;
            else 
                j--;
    }
    puts(nop+z);
    return 0;
}
 
Текущее время: 02:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru