![]() |
|
Модераторы: Poseidon |
![]()
|
|
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
Помогите пожалуйста написать вот такую прогу:
1. В ней задается массив из 10 чисел (цифр, двухзначных и трехзначных, положительных и отрицательных), например: 4, -23, 3, 276, -79, -345, 6, 44, -77, 111. 2. Прога считает сумму чисел, находящихся в интервале от -100 до 100, а также произведение всех положительных чисел. 3. Всё это выводится на экран. Вот у меня есть код для вывода числа на экран:
|
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 4 Всего: 40 |
deuterium, я тоже только учу Assembler, пока что отрицательные числа не проходили, да и при больших числах результат умножения неправильно получается(если результат больше 3*10^5).
Вот код, возможно поможет. Вводишь сперва количество чисел, потом вводишь элементы массива.
-------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
IKM2007,
Спасибо за помощь, но мне нужна прога без ввода данных с клавиатуры, а только с выводом, т.е. гораздо проще. Исходные данные, т.е. элементы массива, должны быть уже изначально вбиты в код проги. |
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 4 Всего: 40 |
-------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
IKM2007,
Спасибо, конечно. Но как-то странно твоя прога работает. Да и с отрицательными числами не справляется. |
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 4 Всего: 40 |
deuterium, я в массив вместо
написал свои числа(положительные, так как уже обьяснил, что с отрицательными числами пока не знаком), и эти числа должны быть такие, чтобы их произведение не превышало 30000. Сказал, что прога не правильная, но лучше чем ничего. -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
IKM2007,
Согласен, что это лучше, чем ничего. Но эта прога мне немного не подходит. В любом случае спасибо за помощь. Желательно, чтобы прога была похожа на проги, рассмотренные тут: http://forum.vingrad.ru/forum/topic-235310.html Тем более, что ввод не нужен. Может кто-то еще поможет?! |
|||
|
||||
| Evjeny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 14.8.2006 Репутация: 3 Всего: 5 |
Здесь выполнено только часть задания. Программа считает сумму в интервале [-100;100]. Результат в ax. Произведение и вывод постараюсь дописать сегодня, если будет время. |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
Evjeny,
Огромное спасибо!!! Это как раз то, что мне нужно. Код для вывода у меня уже есть готовый (приведен в шапке). Нужно только его состыковать с этой прогой. Ну конечно же не помешало бы и произведение. Но большое спасибо и на этом. А возможно ли как-то сейчас просмотреть результат (пока не реализован вывод)? |
|||
|
||||
| IKM2007 |
|
|||
![]() Зима близко ![]() ![]() Профиль Группа: Участник Сообщений: 702 Регистрация: 26.4.2008 Где: olmedreca Репутация: 4 Всего: 40 |
Отладчиком посмотри. -------------------- "К чёрту обстоятельства, я создаю возможности." Брюс Ли |
|||
|
||||
| Evjeny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 14.8.2006 Репутация: 3 Всего: 5 |
Реализовано: сумма с выводом и произведение без вывода(на всякий, реализовал произведение, если все числа в массиве будут 999, вроде 36ти байт для такого числа должно хватить). Вывод произведения попробуй реализовать сам, пойдет на пользу. Произведение формируется в массивах mult и mult1. Выбирай любой из них |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
Evjeny,
Большое спасибо, вывод результата работает, но как-то странно. Помимо самого числа (-122) выводится еще куча иероглифов и надпись: DOS SET BLOCK (4Ah) error, да к тому же системный динамик при этом запищал. Что это такое? Да, и как всё-таки просмотреть тот результат для произведения. Я понимаю, что с помощью отладчика (td.exe ***.exe), но что конкретно там надо сделать, чтобы увидеть окончательный результат? Это сообщение отредактировал(а) deuterium - 26.11.2008, 12:46 |
|||
|
||||
| Evjeny |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 14.8.2006 Репутация: 3 Всего: 5 |
||||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
Evjeny,
Да с этой ошибкой я уже разобрался. Вот преподаватель мне уже всё исправил. Чисто для суммы получилось вот так:
Осталось доделать произведение. Дело в том, что в твоей проге много того, чего я вообще еще не учил. Например, что такое: rep movsw, clc, adc, pushf, popf? Можно как-то обойтись без этого? |
|||
|
||||
| deuterium |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 11.2.2008 Репутация: нет Всего: нет |
Ну а вот и окончательный результат, как надо было сделать. Оказалось попроще, чем здесь предлагалось. Но в любом случае всем спасибо за помощь.
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |