|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.04.2009, 20:45 | #61 | |||
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
mas[i] - элемент массива (то есть, в данном случае, одна точка) mas[i].x - обращение к элементу структуры Вместо структуры сделайте два массива: x и y. Вместо mas[i].x пишите x[i], а вместо mas[i].y - y[i]. Цитата:
Все, что нужно, написал выше. Переделывать весь код не буду. Сами справитесь, если подумаете. Цитата:
--------------------------
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|||
12.04.2009, 19:16 | #62 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 62
|
ура вроде бы переписал!спасибо!
и можно ещё вопросы почему именно такие формулы? mas[i].y = rand()*(BMAX-TMAX)/(double)RAND_MAX+TMAX; и S += pow( pow(mas[j].x-mas[i].x,2) + pow(mas[j].y-mas[i].y,2),0.5); А с замененной задачей не поможете? Последний раз редактировалось patriarch; 12.04.2009 в 19:27. |
12.04.2009, 19:44 | #63 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Код:
TMAX - верхний rand() выдает целые числа. Чтобы получить рандомное вещественное число, нужно делить на RAND_MAX. Это будет случайное число от 0 до 1. -------------- Код:
---------------------------------- Цитата:
Я до выходных врядли появлюсь. На данный момент решение для меня не очевидно. Нужно думать. И в одиночку мне этого делать не хочется.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
12.04.2009, 19:53 | #64 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 62
|
ну мое решение такое.Пользователь вводит с клавиатуры начальную формулу и конечную,и правила подстановки.Возьмем 3 строки.В одной будет начальная формула.В другой конечная.В третье промежуточные вычисления.Затем мы берем начальное слово и применяем к нему первую подстановку результат записываем в промежуточную строку.Затем к промежуточной формуле применяем ещё подстановки...Вопрос в том нужно ли к ней снова применять ту подстановку которую мы применили или перейти к другой.Это похоже просто перебор....Пока это только идея и похоже не слишком идеальная.
|
12.04.2009, 20:03 | #65 | ||
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Пока еще плохо видно, но, возможно, программа сможет уйти в бесконечный цикл (при определенных правилах).
Цитата:
Цитата:
Подумаю, как сделать через рекурсию. Но без компьютера врядли много надумаю. Посмотрим. Начинайте реализовывать идеи (какие появятся). Правила можно помещать в двумерный массив. Вводить с помощью scanf Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Sazary; 12.04.2009 в 20:06. |
||
12.04.2009, 20:10 | #66 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 62
|
идей пока нету.То что есть не совсем понимаю как реализовать.
P.S. Переписанная с массивами программа же такая будет? Код:
|
12.04.2009, 21:33 | #67 | ||
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Цитата:
Если нет идей сейчас, то, может, появятся позже. Естественно, не с потолка свалятся. Нужно сидеть и думать. Я вернусь, скорее всего, только в пятницу. Может, и придумаю что-нибудь к этому времени. Ну вот первые идеи. Будут две функции: стартовая и рекуррентная. Пусть длина правила (точнее, одной его части. (длина правила ab->ba = 2)) будет lp. В стартовой функции идем по исходному слову (in) от 0 до in.length()-lp. Пусть будет булева переменная flag. На каждой итерации присваиваем ему true. Флаг будет говорить о том, применялись ли какие-нибудь правила за данный проход. Входим в цикл while. Условие - in[i]!=out[i] && flag, то есть пока текущий символ исходного слова не равен символу из конечного и установлен флаг (то есть были перестановки). В цикле while ставим флаг в false и вызываем рекуррентную функцию fun. Ее заголовок будет выглядеть примерно так: Код:
Код:
Код:
--------------------- В функции fun будет цикл от 0 до N-1 (где N - количество правил). Там выделяем в sub подстроку: Код:
Код:
Код:
Ну вот. Естественно, это наброски, которые я писал на бумаге. Использовать их в таком виде нельзя.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] Последний раз редактировалось Stilet; 15.06.2009 в 12:28. |
||
14.04.2009, 20:06 | #68 |
Пользователь
Регистрация: 24.03.2009
Сообщений: 62
|
я пытался сдать преподу задачу с деревьями.Он сказал что это простейший случай и нужно писать задачу рекурсией.Нужны случаи когда у вершины ещё могут быть сыновья.
|
14.04.2009, 20:15 | #69 | |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Я балдею! То минимальное (по сумме рёбер) дерево — то сыновья!
Тогда надо поменять (ограничить) условие задачи. Странно, что это идёт вдогонку... сразу не сказать? То, что Sazary уже сделал (по поиску минимального дерева) — это и есть решение. А у вас так: — 2·2? — 4. — Это все знают. Найдите более сложное решение. Цитата:
____________________________ * Так что препод в общем-то прав! Но он же заменил задачу про матрицу — как очень для вас сложную! А эта — ещё сложнее: надо делать полный перебор по простым, бинарным, тринарным, бинарно-тринарным, тринарно-бинарным и т. д. деревьям. К диплому дай бог успеть!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 15.04.2009 в 04:43. Причина: правота препода. |
|
14.04.2009, 20:16 | #70 | |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Sasha_Smirnov +1 ))
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обращение матрицы методом союзной матрицы | dofmat | Помощь студентам | 6 | 03.10.2011 15:01 |
Чистый бинарный код | НикСерг | Общие вопросы C/C++ | 16 | 09.11.2009 15:06 |
деревья | ShenDy | Общие вопросы C/C++ | 0 | 13.03.2009 19:18 |
Деревья | Mitron | Общие вопросы Delphi | 5 | 01.02.2008 10:09 |
Деревья | Зёка_студент | Помощь студентам | 1 | 26.12.2007 21:47 |