Вопрос № 159058: Программа выполняет следующие действия: - ввод массива целых положительных и отрицательных чисел. - вычисление суммы тех чисел из массива, которые одновременно нечетны и отрицательны; - вывод исходного массива чисел и полученного значен...
Вопрос № 159117: Здравствуйте Пишу программу на ассемблере - заполнение массива данными A = {ai} (i = 1..20) a[i] = (i/5 + i/3) +50 По идее, в результате должны выдаваться
значения: 50 51 51 52 52 53 53 54 54 55 55 56 56 57 58 5...Вопрос № 159149: Большое спасибо, ваши советы очень помогли. Осталась последняя проблема. Я дополнил программу, теперь она заполняет массив по схеме: A = {ai} (i = 1..20) ai = 3*i + i/3 0 < i < 11 ai = (i/5 + i/3) + 50 10 <...
Вопрос № 159.058
Программа выполняет следующие действия: - ввод массива целых положительных и отрицательных чисел. - вычисление суммы тех чисел из массива, которые одновременно нечетны и отрицательны; - вывод исходного массива чисел и полученного значения суммы на экран терминала.
Отправлен: 29.01.2009, 00:10
Вопрос задал: Alex24 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Boriss
Здравствуйте, Alex24! Вот посмотрите в приложении. Немного (совсем немного комментировал) - лучше спросите, что не понятно Ввод каждого числа завершается ENTER Если нужно изменить размерность массива, то ищите в конце и исправьте константу numbers_count
Приложение:
--------- Вывод - то место в тексте, где вы устали думать
Ответ отправил: Boriss (статус: Профессор) Россия, Саранск Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники WWW:Программирование на Паскале ICQ: 320096696 ---- Ответ отправлен: 30.01.2009, 16:26
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 242554 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 159.117
Здравствуйте
Пишу программу на ассемблере - заполнение массива данными
Отвечает: Airyashov
Здравствуйте, Койбаев Олег Артурович! массив нумеруется с 0 mov si,1 ;индекс начального элемента в cx div это целочисленное деление
Ответ отправил: Airyashov (статус: Студент)
Ответ отправлен: 29.01.2009, 21:42
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 242501 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Койбаев Олег Артурович! Как верно заметил Airyashov, массив нумеруется с 0, а не с 1. Кроме того, Вы его заполняете с 1 элемента, а выводите с нулевого, вот этот непроинициализированный элемент равный 0, мы и видим. Это первое. Второе. "Другие значения" - это результат целочисленного деления с отбрасыванием остатка. Но...нужный результат можно достичь! Только для этого надо немного изменить формулу (этим мы уменьшим погрешность!) i/5 +i/3 = (8*i)/15 = (i<<3)/15
В последнем выражении умножение на 8 я заменил на сдвиг влево на 3 бита. Программа в приложении, реализующая эту формулу, выводит нужные числа...
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 29.01.2009, 23:03
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 242507 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 159.149
Большое спасибо, ваши советы очень помогли.
Осталась последняя проблема. Я дополнил программу, теперь она заполняет массив по схеме:
A = {ai} (i = 1..20)
ai = 3*i + i/3 0 < i < 11
ai = (i/5 + i/3) + 50 10 < i < 21
Работает все вроде бы правильно.
Теперь нужно в этом массиве найти все простые элементы. Нашел в интернете алгоритмы типа решето Эратосфена. Алгоритм вроде бы простой, но как его реализовать на Ассемблере и вставить в свою программу не знаю.
Или может быть есть другие алгоритмы? Подскажите, пожалуйста.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Койбаев Олег Артурович! А вот и решение. Простые числа ищутся по алгоритму Эратосфена. Сначала строится массив, в котором находятся все числа от 2 до максимального. Затем все составные заменяются на 0. Все элементы нашего массива ищутся в построенном массиве, если нашелся, значит - простое. В качестве бонуса, дополнительно реализовал формирование массива простых чисел по алгоритму Сундарама :) Описание в Википедии Вызов
подпрограммы вместо решета Эратосфена закомментирован... Если не надо, то можно просто удалить...
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 30.01.2009, 12:06
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 242541 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.