Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104

Вывести на экран нечетные элементы массива и подсчитать их сумму

04.04.2016, 18:24. Показов 3683. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сама задача вот такая: "Дан целочисленный одномерный массив. Вывести на экран нечетные элементы массива и подсчитать их сумму."

Если подсчитать сумму элементов я могу, то вот как вывести на экран нечетные элементы не знаю. Искала в других темах и книгах по ассемблеру, но именно fasm там я не нашла. Может плохо искала и если есть, то можете дать ссылку на информацию и я постараюсь сделать сама. Буду благодарна и за это.

Заранее спасибо за помощь.

Кода нет по причине того, что изначально нужно вывести на экран нечетные элементы массива, а именно это я не знаю как сделать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2016, 18:24
Ответы с готовыми решениями:

Вывести на экран все нечетные элементы массива
Вывести на экран все нечетные элементы массива; Отсортировать массив по возрастанию, используя любой известный алгоритм сортировки;

Сгруппировать четные и нечетные элементы массива и по группам вывести их на экран
Написать программу на языке Ассемблера, которая позво-ляет ввести с клавиатуры целочисленный массив из 7 элементов, сгруппировать четные и...

Вывести на экран сначала четные элементы массива, затем нечетные
Дан массив целых чисел. Вывести на экран сначала его четные элемен¬ты, затем нечетные.

13
Прощай, Мир!
 Аватар для proc3nt
1673 / 831 / 253
Регистрация: 26.05.2012
Сообщений: 3,056
04.04.2016, 20:44
думаю тебя немного просветит (т. е. даст знания) эта тема Ввод и вывод чисел в различных системах счисления
0
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
04.04.2016, 22:37  [ТС]
proc3nt, proc3nt, у меня компилятор считает за ошибку строку OutInt proc.
А еще я не слишком поняла как это применить именно к массивам. Не могли бы вы помочь?
0
Эксперт быдлокодинга
 Аватар для Полный 30h
2095 / 529 / 70
Регистрация: 04.11.2010
Сообщений: 1,314
05.04.2016, 01:28
Лорна,
Цитата Сообщение от Лорна Посмотреть сообщение
Кода нет по причине того, что изначально нужно вывести на экран нечетные элементы массива, а именно это я не знаю как сделать.
DOS или windows?
0
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
05.04.2016, 08:11  [ТС]
Цитата Сообщение от Полный 30h Посмотреть сообщение
DOS или windows?
Виртуальная машина и в windows xp
0
Эксперт быдлокодинга
 Аватар для Полный 30h
2095 / 529 / 70
Регистрация: 04.11.2010
Сообщений: 1,314
05.04.2016, 08:34
Лорна, воспользуйтесь функциями wsprintf и MessageBox
0
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
05.04.2016, 08:40  [ТС]
Полный 30h, к сожалению, я их не слишком хорошо знаю. Если вам нетрудно, то не могли бы вы показать как эти функции работают?
Потому что у меня многие процедуры и функции компилятор выделяет как ошибку.
0
Эксперт быдлокодинга
 Аватар для Полный 30h
2095 / 529 / 70
Регистрация: 04.11.2010
Сообщений: 1,314
05.04.2016, 10:04
Цитата Сообщение от Лорна Посмотреть сообщение
к сожалению, я их не слишком хорошо знаю.
Покажите что в вашем коде не получается. Постараюсь помочь.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
05.04.2016, 10:11
Лорна, Четные отличаются от нечетных младшим битом. Вам дали ссылку на функции написанные под MASM/TASM. Их синтаксис отличается от FASM'кого.
0
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
05.04.2016, 11:05  [ТС]
Полный 30h, вообще вот что я сделала, но при этом теперь выводит бесконечный цикл из единиц.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
org 100h
 
start:
 mov si, array
 mov cx, 5
 
Start1:
 mov eax, array
 mov ebx, 2
 xor edx,edx
 div ebx
 jz next1
 jmp next
 jmp  Start1
 
next1:
  mov dl, [array]
  add dl, 48
  mov ah, 02h
  mov dl, cl
  int 21h
 
 add [sum],al
 
 
next:
 loop Start1
 
delim1:
 mov dl,[sum]
 add dl,30h
 
 mov ah, 02h
 int 21h
 
 mov ah, 08h
 int 21h
 ret
 
exit:
 ret
 
sum db 2
array db 1, 2, 3, 4, 5
Добавлено через 21 минуту
Полный 30h, хотя когда я заменила вот это
Assembler
1
2
3
4
mov eax, array
 mov ebx, 2
 xor edx,edx
 div ebx
На вот это
Assembler
1
2
lodsb
 test al,1
То он мне стал выводить непонятные символы и нужную сумму.
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
05.04.2016, 14:10
Лучший ответ Сообщение было отмечено Лорна как решение

Решение

Цитата Сообщение от Полный 30h Посмотреть сообщение
DOS или windows
Вот Вам и ответили - DOS.

Добавлено через 22 секунды
Лорна,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
org 100h
 
start:
        mov si, array
        mov di,10
        mov cx,11
 
isLoop: lodsb
        test al,1
        jz next1
        ;
        cbw
        add     [sum],ax
        call    OutNum
 
next1:  loop    isLoop
        mov     al,'='
        int     29h
        mov     ax,[sum]
        call    OutNum
        xor     ax,ax
        int      16h
        ret
exit:
OutNum: push    cx
        xor     cx,cx
@@01:   xor     dx,dx
        div     di
        push    dx
        inc     cx
        or      ax,ax
        jnz     @@01
        mov     ax,' '-'0'
@@02:   push    ax
        inc     cx
        cmp     cx,6
        jb      @@02
@@03:   pop     ax
        add     al,'0'
        int     29h
        loop    @@03
        pop     cx
        ret
sum dw  0
array db 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11
2
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
05.04.2016, 16:02  [ТС]
Constantin Cat, О, спасибо большое.
Если вам нетрудно, то не могли бы вы пояснить, что именно в коде делают 5 и 33 строки?
0
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
05.04.2016, 16:08
Лорна,
5 - задает систему счисления, для деления в подпрограмме.
33 - для выравнивая, т.е. для красоты отображения информации.
1
 Аватар для Лорна
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 104
05.04.2016, 16:14  [ТС]
Constantin Cat, спасибо большое. Теперь я разобралась.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.04.2016, 16:14
Помогаю со студенческими работами здесь

Вывести на экран cначала четные элементы массива, затем нечетные
Дан массив целых чисел. Вывести на экран сначало четные элементы массива, нечетные потом

Вывести на экран сначала четные элементы массива, затем нечетные
5. Дан массив целых чисел. Вывести на экран сначала его четные элемен¬ты, затем нечетные.

Вывести на экран сначала четные элементы массива, потом нечетные
2. Дан массив целых чисел. Вывести на экран сначала четные элементы массива, потом нечетные. S9 вижу ты на форуме Профи в этом...

Вывести на экран сначала четные элементы массива потом нечетные
Дан массив целых чисел. Вывести на экран сначало четные элементы массива потом не четные

Найти максимальный элемент массива и вывести на экран все нечетные элементы
задать массив генератором случайных чисел в диапазоне найти максимальный элемент массива и вывести на экран все нечетные элементы.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru