Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: сумма нечетных цифр числа  (Прочитано 18455 раз)
0 Пользователей и 1 Гость смотрят эту тему.
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« : 19-12-2012 21:40 » 

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
реально последняя надежда....зачат надо сдать до конца следующей недели, а я в ассембле полный ноль(это еще мягко сказано...)

дано 5-ти значное число(например 8889), необходимо найти сумму нечетных цифр числа. Предполагаемый ответ 9, верно?
надо сначала разделит число на цифры делением на 10000, потом на 1000...и так до 10. Затем проверить на четность каждую полученную цифру и просуммировать их. Но вот как это реализовать???
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 20-12-2012 03:44 » 

извиняюсь, кого надо зачат ?

забавное пятизначное число! Улыбаюсь

а делить лучше на 10 в цикле
« Последнее редактирование: 20-12-2012 03:46 от Алексей++ » Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 20-12-2012 04:06 » 

mary1010, ты «руками» на бумаге можешь решить? Если да, то обрати внимание на детали, как ты решаешь — это готовый алгоритм. Если же ты не можешь это понять, то за составление алгоритмов и написание программ браться еще рановато.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« Ответ #3 : 20-12-2012 04:47 » 

Если же ты не можешь это понять, то за составление алгоритмов и написание программ браться еще рановато.
раз написала алгоритм, значит какое-то понятие имею... реализовать на ассемблере не могу!поэтому и прошу написать именно код или часть его...
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 20-12-2012 05:56 » 

mary1010, не вижу алгоритм. Напиши его словами по пунктам.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 20-12-2012 07:43 » 

А если с самого начала разделить на 10?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 20-12-2012 09:11 » 

Кстати, "нечётные цифры" - это точно именно нечётные цифры, а не цифры в нечётных разрядах? На всякий случай уточняю.
Записан
LemmonRus
Помогающий

ru
Offline Offline
В правильно заданном вопросе 90% ответа.


« Ответ #7 : 20-12-2012 09:16 » 

ПОМОГИТЕ ПОЖАЛУЙСТА!!!!
реально последняя надежда....зачат надо сдать до конца следующей недели, а я в ассембле полный ноль(это еще мягко сказано...)

дано 5-ти значное число(например 8889), необходимо найти сумму нечетных цифр числа. Предполагаемый ответ 9, верно?
надо сначала разделит число на цифры делением на 10000, потом на 1000...и так до 10. Затем проверить на четность каждую полученную цифру и просуммировать их. Но вот как это реализовать???
1)В каком формате заданно это 5 значное число?

Предложенный тобой алгоритм следует логике языка высокого уровня, а не ассемблера.
В ассемблере все с одной стороны проще с другой сложнее.
« Последнее редактирование: 20-12-2012 09:20 от LemmonRus » Записан
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« Ответ #8 : 20-12-2012 13:30 » 

mary1010, не вижу алгоритм. Напиши его словами по пунктам.
1) разделить число циклом на 10
2) проверить каждую цифру на четность(я думаю, можно разделит на 2 и как-то посмотреть остаток. Если он равен 0-число четное)
3)просуммировать четные числа

Добавлено через 53 секунды:

1)В каком формате заданно это 5 значное число?

в формате слова (dw)

Добавлено через 47 секунд:
Кстати, "нечётные цифры" - это точно именно нечётные цифры, а не цифры в нечётных разрядах? На всякий случай уточняю.
именно числа

Добавлено через 3 минуты и 30 секунд:
А если с самого начала разделить на 10?
я думаю можно...тогда получим первую цифру числа, а если начинать с 10000 то последнюю. Разницы особой нет
« Последнее редактирование: 20-12-2012 13:35 от mary1010 » Записан
Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 20-12-2012 15:30 » 

mary1010, разница есть
Если рассмотришь два алгоритма
с делением на 10
и с делением на... неизвестно какое...
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« Ответ #10 : 20-12-2012 15:58 » 

mary1010, разница есть
Если рассмотришь два алгоритма
с делением на 10
и с делением на... неизвестно какое...
знаете, уважаемый Slа, эти рассуждения "о высоком" мне вообще не помогают в написании программы....
можете скинуть адекватное объяснение как использовать циклы в ассемблере и как искать остаток от деления....
Записан
darkelf
Молодой специалист

ua
Offline Offline

« Ответ #11 : 20-12-2012 16:25 » 

mary1010,  в интернете есть справка по tasm-у/masm-у, там всё есть (как я понял из контекста Вас интересует ассемблер для процессоров семейства x86). Для поиска остатка Вам нужна команда div, а для организации  цикла - loop.
Записан
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« Ответ #12 : 20-12-2012 16:55 » 

mary1010,  в интернете есть справка по tasm-у/masm-у, там всё есть (как я понял из контекста Вас интересует ассемблер для процессоров семейства x86). Для поиска остатка Вам нужна команда div, а для организации  цикла - loop.
спасибо)
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #13 : 20-12-2012 17:27 » 

Я бы loop не использовал, а использовал бы цикл с условием на основе перехода jz. Какой смысл проверять старшие разряды, если там одни нули остались?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 20-12-2012 17:29 » 

mary1010, обобщенный алгоритм у тебя есть. Теперь его надо детализировать. Попробуй описать также словами (не обязательно здесь — это нужно не нам, а тебе). В описании учитывай переменные. Такое детальное описание легко транслируется в код на любом языке.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
mary1010
Интересующийся

ua
Offline Offline
Пол: Женский

« Ответ #15 : 21-12-2012 20:46 » 

разобралась))спасибо!
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 22-12-2012 07:40 » new

На здоровье!
Молодец, что разобралась!
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines