Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 43

Найти разность индексов наибольшего и наименьшего элементов массива

11.12.2012, 23:44. Показов 1333. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
задание: массив из 10 чисел,которые варьируются в диапазоне [-99..99]. найти разность индексов наибольшего и наименьшего элементов.

т.е. есть массив допустим 20 70 -30 50 -67 итд индексация 1..5 и тогда решением задания будет 5 - 2 = 3

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

сам код во вложении.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
assume  CS:code, DS:data
code segment
 
begin:
    mov AX, data
    mov DS,AX
    mov SI,1
    mov DX,0
    
cycle:
    xor AX,AX
    mov AH,01h
    int 21h
    cmp AL,32 ; если пробел то считываем след символ
     je lab1
    cmp AL, 45
    jne lab1
; если минус, то сохраняем его в переменной mark
    mov mark, AL
    jmp cycle
 
lab1:
     mov AH,00h
     sub AX,    '0'
    push AX
     inc DX
     cmp DX,2
     jb cycle
     cmp DX,2
    je rez
 
rez:
        ;запоминаем последний введенный символ
    pop DX
     mov k,DX
    pop AX
    mul y
    add AX,k; записали число в 10сс
    cmp mark,'-'
    je negative
 
lab2:
     add array[SI], Al; записали его в массив
     add SI,1
     cmp SI,11
    je si_init
     jmp cycle
 
si_init:
    mov si,0
        
research:
    inc si
    xor ax,ax
    mov al, array[si]
    cmp al,min
    jb min_ex
 
research_max:
    xor al,al
    mov al, array[si]
    cmp al,max 
    ja max_ex
 
min_ex:
    mov min, al
    xor al,al
    mov ax, si
    mov index_min, ax
    jmp research_max
 
max_ex:
    mov al, array[si]
    mov max, al
    xor ax,ax
    mov ax, si
    mov index_max, ax
    cmp si,10
    je solution
    jmp research
 
solution:
    xor AX,AX
    xor BX,BX
    mov Ax, index_min
    mov Bx, index_max
    sub Bx,Ax
    mov result, Bx
    cmp result, 0
    ja output
    neg result
    
output:
    mov AH, 09h
    mov DX, offset result_mess
    int 21h
 
    mov dx, result
    add dx, '0'
    mov ah,02h
    int 21h
    jmp exit
    
negative:
    neg AX
    jmp lab2
    
exit: ;завершение программы
    mov AH, 08h
    int 21h
    mov AX, 004Ch
    int 21h
code ends
    
data segment
    result_mess db 10,13, 'result$', 10
    max db 0
    min db 0
    index_min dw 0
    index_max dw 0
    array db 10 dup(0)
    mark db 0
    k dw 0
    y dw 10
    result dw 0
data ends
 
stk segment stack
dw  128 dup(0)
stk ends
end begin
Вложения
Тип файла: txt Новый текстовый документ.txt (1.7 Кб, 9 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2012, 23:44
Ответы с готовыми решениями:

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

Найти разность наибольшего и наименьшего элементов массива
Даны целые числа a1,a2,....an. Пусть M-наибольшее,а m-наименьшее этих чисел. Найти их разность. Пожалуйста, надо срочно. ...

Найти разность наибольшего и наименьшего элементов двумерного массива
найти разность наибольшего и наименьшего элементов двумерного массива b(n,m). Вывести на печать индексы наибольшего и наименьшего элементов.

3
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 43
12.12.2012, 15:59  [ТС]
нарооод)) помогиите
0
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
12.12.2012, 18:11
Первая ошибка:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
cycle:
    xor AX,AX
    mov AH,01h
    int 21h
    cmp AL,32 ; если пробел то считываем след символ
     je lab1
    cmp AL, 45
    jne lab1
; если минус, то сохраняем его в переменной mark
    mov mark, AL
    jmp cycle
 
lab1:
Должно быть:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
cycle:
    xor AX,AX
    mov AH,01h
    int 21h
    cmp AL,32 ; если пробел то считываем след символ
     je cycle        ;lab1
    cmp AL, 45
    jne lab1
; если минус, то сохраняем его в переменной mark
    mov mark, AL
    jmp cycle
 
lab1:
Добавлено через 17 минут
Зацикливается в бесконечном цикле:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
research_max:
    xor al,al
    mov al, array[si]
    cmp al,max 
    ja max_ex
 
min_ex:
    mov min, al
    xor al,al
    mov ax, si
    mov index_min, ax
    jmp research_max
0
0 / 0 / 0
Регистрация: 11.12.2012
Сообщений: 43
12.12.2012, 21:13  [ТС]
AFP спасибо большое теперь вижу. ты меня очень и очень выручил. как раз бесконечный цикл меня и парил. там где переход неправильный... это был не конечный вариант кода и было исправлено уже. а цииииииикл!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2012, 21:13
Помогаю со студенческими работами здесь

Найдите разность наибольшего и наименьшего элементов массива
Написать программы и составить блок схемы к задачам: 2. Задайте массив из 10 элементов с помощью датчика случайных чисел. Найдите...

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

Найдите разность наибольшего и наименьшего элементов массива
Помогите, не проходит код!) Вот задача: Задайте массив из 10 элементов с помощью датчика случайных чисел. Найдите разность наибольшего...

Найти разность наибольшего и наименьшего элементов матрицы
Дана матрица А(6,6) действительных чисел. Найти разность наибольшего и наименьшего элементов матрицы. Для вычисления разности использовать...

В одномерном массиве найти разность номеров наибольшего и наименьшего элементов
В одномерном массиве найти разность номеров наибольшего и наименьшего элементов.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru