Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
6 / 6 / 3
Регистрация: 02.10.2013
Сообщений: 183
1

Подсчитать количество четных элементов массива, и определить индекс последнего четного

16.11.2014, 14:00. Показов 2504. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять как организовать нахождение последнего чётного. В задании Количество чётных я просто увеличивал счётчик,но вот как найти последний элемент не могу понять.


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
.model small
.stack 100h
.data
massiv db 5,4,3,6,7,8,22,14 
kolvo4etnelem db ?
indeksposl4etn db ? 
.code
start:
mov ax,@data
mov ds,ax
mov es,ax 
 
mov cx,8
 
proverkanaindeks:
 
 
proverkana4etn:
mov al,massiv[bx] 
test al,1
jz esli4etnoe
inc bx
jmp proverkanaindeks
jmp proverkana4etn
esli4etnoe:
inc kolvo4etnelem
inc bx
cmp bx,8
jne proverkana4etn  
 
 
 
mov ax,4c00h
int 21h
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.11.2014, 14:00
Ответы с готовыми решениями:

Цикл: определить количество четных элементов в массиве и индекс первого четного
Определить количество четных элементов в массиве и индекс первого четного.

Определить количество элементов массива, у которых индекс строго меньше N, а старший бит равен 1
Даны массив А и целое число N <=25. Определить количество его элементов, у которых индекс строго...

Подсчитать количество четных элементов в массиве
Дан массив: байтов. Подсчитать количество четных элементов. Вот составил программу, выводит...

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

4
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
16.11.2014, 14:19 2
Kaisten,
а я не могу понять зачем две метки, одна под другой proverkanaindeks, proverkana4etn и соответственно два перехода
Assembler
1
2
jmp proverkanaindeks
jmp proverkana4etn
причем jmp proverkana4etn НИКОГДА не сработает, и почему и счетчик количества четных элементов и счетчик количества проходов цикла почему-то организованы на одном и том же регистре ВХ, как будто о существовании других регистров Kaisten не догадывается. Вывод - программу доделывать и доделывать
0
6 / 6 / 3
Регистрация: 02.10.2013
Сообщений: 183
16.11.2014, 14:25  [ТС] 3
Всё у меня верно и считает в счётчике нормально,это я хотел организовать нахождение индекса,ну не знал как и забыл убрать. То что на ВХ делаю ничего страшного,мне так хочется. Прога работает и верно находит количество чётных,проверь состояние kolvo4etnelem в vars,и увидишь что там стоит 5. Вот с индексом,я не понимаю как.
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
.model small
.stack 100h
.data
massiv db 5,4,3,6,7,8,22,14 
kolvo4etnelem db ?
indeksposl4etn db ? 
.code
start:
mov ax,@data
mov ds,ax
mov es,ax 
 
mov cx,8
proverkana4etn:
mov al,massiv[bx] 
test al,1
jz esli4etnoe
inc bx
jmp proverkana4etn
esli4etnoe:
inc kolvo4etnelem
inc bx
cmp bx,8
jne proverkana4etn  
 
 
 
mov ax,4c00h
int 21h
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
16.11.2014, 14:52 4
Лучший ответ Сообщение было отмечено Kaisten как решение

Решение

Kaisten,
для прохода по массиву используй регистр SI, заведи переменную index и каждый раз когда когда найдешь четное помещай в переменную содержимое SI, для подсчета сколько раз выполняется цикл используй регистр СХ (mov cx,8 перед началом цикла) и loop proverkana4etn вместо jne proverkana4etn
0
6 / 6 / 3
Регистрация: 02.10.2013
Сообщений: 183
16.11.2014, 14:54  [ТС] 5
Точно,спасибо,буду просто помещать каждый индекс чётного элемента,замещая новым. Спасибо за идейку)
0
16.11.2014, 14:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2014, 14:54
Помогаю со студенческими работами здесь

Определить количество элементов массива, кратных трем и индекс последнего такого элемента
Сформировать массив,содержащий 7 элементов,задав элементы с клавиатуры.Определить количество...

Подсчитать количество элементов массива, больших чем мо-дуль разности первого и последнего элементов массива
Подсчитать количество элементов массива, больших чем мо-дуль разности первого и последнего...

Для заданного целого k определить индекс последнего из элементов массива, попадающих в промежуток [-k, k]
задано массив целых чисел n. для заданного целого k определить последний из элементов массива что...

Вывести значение и номер последнего четного элемента массива или сообщение об отсутствии четных значений
Ввести одномерный массив размерностью n. Вывести значение и номер последнего четного элемента или...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru