-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
1 | |
Динамическое программирование07.07.2011, 22:48. Показов 3778. Ответов 25
Метки нет (Все метки)
Помогите пожалуйста,кто может, со следующими задачами, так как в С++ слабо разбираюсь, а к понедельнику надо сдать...
1. Определить сколько в линейном массиве групп одинаковых идущих подряд элементов. 2. Даны длины двух сторон треугольника и один из его углов. Определить максимальный периметр треугольника, который можно построить из этих элементов. 3. Даны символьные строки. Определить общую подстроку максимальной длины.
0
|
07.07.2011, 22:48 | |
Ответы с готовыми решениями:
25
динамическое программирование ДП Динамическое программирование Динамическое программирование Динамическое программирование |
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
|
||||||
07.07.2011, 23:05 | 2 | |||||
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
07.07.2011, 23:31 [ТС] | 3 |
Спасибо большое , Daemon025 !
0
|
Каратель
|
|
07.07.2011, 23:33 | 4 |
1
|
1 / 1 / 1
Регистрация: 16.01.2010
Сообщений: 26
|
||||||
07.07.2011, 23:56 | 5 | |||||
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
08.07.2011, 00:21 [ТС] | 6 |
Спасибо, Jleloush , мне тоже для двух строк(забыл указать) но это похоже не то...Мне нужно по такому образцу:
Например: 1-ая строка SUBSEQUENCE 2-ая строка SUBEUENCS Чтобы вывело: UENC , т.е наибольшую общую подстроку. Только как это проще сделать? Читал в википедии - там слишком сложно, может как-нибудь попроще можно...
0
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
08.07.2011, 11:39 [ТС] | 8 |
Как бы мы в универе щас занимаемся ДП, т.е разбивание задач на подзадачи, решение их как можно более оптимальным способом, используя минимальное число циклов и т.д. А ДП тут при том, что все данные задачи нужно таким же образом решить , т.е наиболее эффективным способом и с минимумом затрат...
0
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
08.07.2011, 12:12 [ТС] | 10 |
Ну так да...1-ая есть (спс Daemon) нужно ещё две...кто знает помогите плиз...
0
|
Gepar
|
08.07.2011, 12:16
#11
|
Не по теме: Простое любопытство: а чего это вы летом в универе учите с++ ? Я бы предположил что это какие курсы, но те кто ходят на такие доп. курсы обычно хотят выучить и пытаются разобраться во всём сами. У вас же ни строчки кода ваших попыток.
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
||||||
08.07.2011, 21:25 [ТС] | 12 | |||||
Летом у нас практика по программированию, сейчас мы изучаем ДП, препод нам толком ничего не объясняет - просто даёт задачу,а если что не понимаем наводит на мысль...А тут нам он дал индивидуальные задачи, поэтому я и прошу чтобы вы помогли или хотя бы идейку подкинули...
Добавлено через 8 часов 42 минуты В википедии к 3-ей задаче нашёл псевдокод...Только как его теперь на c++ реализовать, с стандартными библиотеками, без всяких векторов и прочего.. Код:
0
|
Freelance
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
08.07.2011, 21:32 | 13 |
Ну какой же это псевдокод ? Это обычная функция написана на чистом С++.
Добавлено через 1 минуту STL входит в стандартную библиотеку С++.
0
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
08.07.2011, 22:54 [ТС] | 14 |
Я слабо разбираюсь в этом деле так, что извините если ошибся
Добавлено через 5 минут Я понимаю, только нужно реализовать как-нибудь проще,например с библиотекой iostream...Я как бы на первом курсе и <vector> мы ещё не изучали... Например, запрашивает ввести 1-ую строку, затем 2-ую, а далее идёт поиск наибольшей общей подстроки...и в конце выводит, к примеру:"Наибольшая общая подстрока: ... "
0
|
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
|
|
09.07.2011, 05:14 | 15 |
с вектором куда уж проще то.
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
09.07.2011, 08:18 | 16 | |||||
Немного подредактировал код Jleloush для 3-ей задачи. Проверяйте:
2
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
|
09.07.2011, 14:53 [ТС] | 17 |
Спасибо , valeriikozlov! Всё отлично работает! Ещё бы вторую задачу...
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
|
09.07.2011, 15:55 | 18 |
На самом деле 2-ая задача не такая уж и сложная.
У нас будет 3 варианта площадей: - 1 вариант когда угол меду известными сторонами - 2 варианта когда угол образован только одной из известных сторон и неизвестной стороной Вот по этой ссылке найдете формулу вычисления площади треугольника по известным трем сторонам, а также формулу перевода градусов в радианы (эта формула Вам пригодится если ввод значения угла в градусах - т.к. тригонометрические формулы в с++ работают с радианами) http://www.dpva.info/Guide/Gui... ireVolume/ Для нахождения стороны треугольника для первого варианта подойдет формула из теоремы косинусов: http://ru.wikipedia.org/wiki/%... 3%F1%EE%E2 Для нахождения стороны треугольника для второго варианта подойдет формула из теоремы синусов: http://ru.wikipedia.org/wiki/%... 0%BE%D0%B2
1
|
-2 / 2 / 1
Регистрация: 13.11.2010
Сообщений: 52
|
||||||
09.07.2011, 22:21 [ТС] | 19 | |||||
Спасибо! Буду разбираться.
Добавлено через 6 часов 2 минуты Я сделал двумя способами нахождение 3-ей стороны и периметра, но в условии задачи нужно определить максимальный периметр треугольника, который можно построить с этими элементами,вот тут проблемка... Не подскажете что надо дописать? Вот что у меня получилось:
0
|
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
|
||||||
09.07.2011, 23:23 | 20 | |||||
c++\noob, Вычисления вроде правильные. Хотя есть лишнее:
и переменные для длин сторон я бы сделал тоже double. Но не в этом суть. Для того что бы нужно делать так: (проще даже код написать)
1
|
09.07.2011, 23:23 | |
09.07.2011, 23:23 | |
Помогаю со студенческими работами здесь
20
Динамическое программирование Динамическое программирование Динамическое программирование Динамическое программирование! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |