![]() |
|
Модераторы: bsa |
![]()
|
|
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
у меня есть программа, которая определяет вводимое число на простоту:
помогите пожалуйста сделать так, чтобы программа сразу вывела все простые числа от 1 до 100 Это сообщение отредактировал(а) anatox91 - 18.1.2008, 21:54 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
выдели проверку на простоту в отдельную функцию, а затем в main() вызывай её в цикле. |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
JackYF, я тоже так с самого начала собирался сделать, только запутался с составными инструкциями, и не могу сделать так, чтобы после проверки бралось следующее число, т.е. n++, и снова проверялось, а если простое - то на вывод...
был бы очень благодарен, если бы кто-нибудь помог Это сообщение отредактировал(а) anatox91 - 18.1.2008, 22:15 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Prof_2000 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: нет Всего: 1 |
Вообще-то, это самая распространенная ошибка при создании такой программы... По крайней мере, если нужно оптимизированное решение. В таком случае, нужно хранить стек уже найденных простых чисел и при проверке делить ТОЛЬКО на них. Ну а если нужно только узкоспециализированное решение - то почему бы не сделать
--------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
||||
|
|||||
| JackYF |
|
||||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 6 Всего: 162 |
Оптимизированное решение нужно тогда, когда есть хоть какое-то. Название раздела прочитай Вот набросок неоптимизированного варианта:
|
||||
|
|||||
| anatox91 |
|
||||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
Prof_2000, это-то всегда можно сделать, а мне стало интересно сделать именно программу, которая сама это вычисляет... это задачка из книги Г.Шилдта - С++. Руководство для начинающих Это сообщение отредактировал(а) anatox91 - 18.1.2008, 22:36 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
||||
|
|||||
| Prof_2000 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: нет Всего: 1 |
Ну тогда вот код одновременно и интересный, и неплохой по производительности:
(слизано с forum.codenet.ru) --------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Prof_2000, этот алгоритм называется Решето Эратосфена
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 7 |
anatox91, хотел бы предложить свой вариант решения пробемы..
пойдет? |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
Prof_2000, компилятор почему-то находит ошибки...
W4FhLF, а вот этот алгоритм очень интересный, наверно попробую завтра через него решить susanin, вот что-то типа такого я и хотел сделать, правда после компиляции (ошибок не было) просто пустое окошко выходит... спасибо всем откликнувшимся! Это сообщение отредактировал(а) anatox91 - 18.1.2008, 23:02 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Prof_2000 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: нет Всего: 1 |
Вообще-то, W4FhLF отметил, что приведенный мной алгоритм называется решетом Эратосфена. Никогда не знал названий этих алгоритмов. Сам всё время писал на Делфи. Чаще всего реализовывал(как только что, после прочтения, оказалось) Решето Сундарама. Хотя и до этого алгоритма додумывался... Подумать только - а ведь его Эратосфен еще во 2м в.до н.э. придумал anatox91, а что за ошибки? У меня gcc нормально скомпилировала. --------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
Prof_2000, просто я в приведенном тобою коде не все понял, т.к. я еще в самом начале изучения С++, а алгоритм мне понравился
а ошибки вот какие выводит: 'main' must return 'int' In function 'int main(...)': return-statement with no value, int function returning 'int' хотя у меня еще может быть как-то неправильно настроен компилятор (тоже gcc, среда Dev-C++), я в его настройках особо не копался еще -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
| Prof_2000 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 26.3.2005 Где: Харьков, Украина Репутация: нет Всего: 1 |
Напиши вместо
и в конце допиши return 0; --------------------
Pereant qui ante nos nostra dixerunt! (лат.) Да погибнут те, кто раньше нас высказал наши мысли! |
||||
|
|||||
| susanin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 587 Регистрация: 7.10.2006 Где: Санкт-Петербург Репутация: 2 Всего: 7 |
anatox91, а что мешает взять мой код, и сравнив со своим найти у себя ошибки?=)
|
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
Prof_2000, пробовал, еще до того как ты написал, только после ввода обоих значений программа сразу закрывается...
susanin, попробую Это сообщение отредактировал(а) anatox91 - 18.1.2008, 23:29 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |