| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Паскаль и простые числа |
| Автор: spectr 31.1.2005, 04:32 |
| |
| Автор: Druidik25 31.1.2005, 14:30 |
| В каком виде тебе нужен график??? Чего с чем??? Можешь поподробнее рассказать??? |
| Автор: Akina 31.1.2005, 14:42 |
| Да собсно... бегишь по массиву простых, вычитаешь предыдущее, подсчитываешь количество, добег до конца - строишь график... В чем проблема-то? |
| Автор: spectr 1.2.2005, 07:31 |
| Druidik25 Рассказываю побробно: Есть программа собств. производства, выводит простые числа на экран. Но это фигня. Необходимо, чтобы этаже самая программа, после того как нашла эти числа, построила обыкновенный график в двух осях координат (как в геометрии). По одной оси (например оХ) откладываем расстояния (измеряем в количестве составных чисел между двумя соседними простыми), а по другой оси откладываем эти самые простые числа |
| Автор: Fedor 1.2.2005, 09:41 | ||
Вот примерно так.
|
| Автор: Akina 1.2.2005, 09:48 |
| Ну по мере вывода наполняй массив разностей текущего и предыдущего Count(NextSimple-PreviousSimple) = Count(NextSimple-PreviousSimple) +1 в результате у тебя i-й элемент массива содержит количество разностей, равных i, в ряду простых чисел. Или проблема в том как нарисовать график? |
| Автор: spectr 4.2.2005, 10:17 |
| Akina Мне необходимо построить ГРАФИК а не просто набор точек. В двух осях, как в алгебре и геометрии, просто график функции R( I[1]-I[2] ). Где R-расстояние между 2 соседними простыми числами, I- простое число |
| Автор: Akina 4.2.2005, 10:22 |
| Ну и строй... набор R( I[1]-I[2] ) у тебя есть... какие проблемы? |
| Автор: Romtek 7.2.2005, 00:45 | ||||
| Сначала берёшь максимальное расстояние между числами и сравниваешь его с высотой экрана GetMaxY, чтобы график поместился полностью в высоту + оставить некоторое пространство для других деталей. Аналогично с шириной графика. Далее, делишь ширину на кол-во найденных простых чисел, чтобы узнать зазор между каждым.
Надеюсь, разъяснил более (менее?) понятно. |
| Автор: spectr 9.2.2005, 09:00 |
| Ребята, вы меня наверное неправильно поняли, .... а может я вам неправильно объяснял Добавлено @ 09:02 Это конечно я так, на бумаге, только до 71, но выглядеть на машине должно так же. Ребята помогите пожалуйста, очень надо. |
| Автор: Akina 9.2.2005, 09:13 |
| spectr 1) Давать файлам имена с нацсимволами в Инете не принято. 2) Твоя просьба все больше напоминает "сделайте за меня"... это в раздел "Работа". Или все-таки начинай ДЕЛАТЬ. |
| Автор: Fedor 9.2.2005, 09:19 |
| spectr Файл не качается. Сделай его с английским именем. |
| Автор: Romtek 9.2.2005, 11:09 |
| Насколько я понимаю, график должен быть из дискретных значений, а не непрерывным. Fedor, http://www.spectr.nm.ru/%E3%F0%E0%F4%E8%EA2.jpg - так поможет? |
| Автор: Akina 9.2.2005, 11:13 | ||
Romtek
Нет, не поможет однозначно. Переименуй файл в grafik.jpg или нечто аналогичное - но БЕЗ РУССКИХ БУКВ!!! |
| Автор: spectr 10.2.2005, 07:14 |
| Переименовал. Akina Добавлено @ 07:16 http://www.spectr.nm.ru/grafik.jpg |
| Автор: Akina 10.2.2005, 09:18 | ||
У тебя 3 этапа решения задачи. 1) Получить массив простых чисел Simples(). Это сделано. 2) Получить массив разностей следующего и предыдущего DiffSimples(i)=Simples(i+1)-Simples(i). Элементарно. 3) Построить график по полученным на этапе 2 данным. Fedor и Romtek тебе кроки накидали. Начинай делать, когда будут конкретные вопросы по каким-то операторам - задавай... а то сейчас разговор глухого со слепым получается... |
| Автор: Romtek 10.2.2005, 11:46 |
| spectr, большой разницы нет. Строй тогда линиями: MoveTo (OrigX, OrigY), а потом в цикле LineTo (ValueX, ValueY) Что именно у тебя вызывает затруднение? |
| Автор: spectr 17.2.2005, 07:58 |
| Да все у меня вызывает затруднения, ничего не получается, рисует просто какие-то непонятно откуда взявшиеся линии..... Эх вы..... |
| Автор: Fedor 17.2.2005, 08:07 | ||
spectr Ну выложи код, попробуем посмотреть, где там линии лишние.
А вот это не надо. Тут тебе люди все-таки помогают, делают все возможное... |
| Автор: spectr 17.2.2005, 09:21 |
| Ладно ребята, я уже не знаю что делать....сроки просто за горло хватают..... Да, я дурак, но хочу научится.... Fedor Я смотрю ты неплохой человек, извини за "Эх вы...", но может быть все-таки поможешь?....Твою аську я себе в лист записал... Выкладываю код нахождения простых чисел с описанием переменных: http://www.spectr.nm.ru/PrimeNumberGraph.pas И внимательно слушаю ваши предложения по второй части( график).....ругаться не буду....честно |
| Автор: spectr 17.2.2005, 09:37 |
| spectr@nm.ru spectr@rin.ru |
| Автор: Fedor 17.2.2005, 18:46 | ||||
аська у меня временно не работает пока... А код я посмотрю сейчас...
спасибо |
| Автор: Fedor 17.2.2005, 21:56 | ||
Лови код
|
| Автор: Romtek 17.2.2005, 23:23 | ||
Вот как я понимаю это задание:
|
| Автор: spectr 19.2.2005, 06:02 |
| Fedor Федюнчик, Володя........СПАСИБО!!!!. ЭТО ПРОСТО КРАСОТА!!! Это настолько красиво, что прямо слов нет!!!!! Б.. буду, если окажусь на Украине.....ящик горилки поставлю..... Такого я не забываю...... Добавлено @ 06:09 Fedor Эх жалко что я здесь новичок, а то "репутацию" твою поднял на 100 очков. |
| Автор: Fedor 19.2.2005, 07:47 |
| Пожалуйста. Приходи почаще. |
| Автор: Guest 1.3.2005, 08:58 | ||
Так пойдет? sn - массив простых чисел, st - массив количества составных чисел между двумя соседними простыми, то есть st[i] это количество составных чисел между sn[i] и sn[i+1] например |
| Автор: Romtek 1.3.2005, 11:15 |
| Во-первых, ему уже ответили, а во-вторых, этот раздел - чистый Паскаль, а не Дельфи. |