Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Noclip
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
1

Поменять местами максимальный и минимальный элемент в одномерном массиве

18.01.2012, 18:59. Просмотров 962. Ответов 6
Метки нет (Все метки)

могу только найти максимум , а минимум чет не получается
но у меня не получается найти их позиции ( номера ).
вот мой исходник!!

прошу помочь......

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
Include macro.lib
Data Segment 
      Z db '      Odnomerniy Massiv $'
      V db 'Vvod Massiva: $'
     VV db 'Vivod Massiva: $'
     El db 'Kol-vo elementov: $'
    Ell db 'Kakoy element hotite yvidet?  -  $'
   Prob db '   $'
    Vah db 'Vash element: $'   
      A dw 100 dup (?)         ;10  
    Max dw 0
    Min dw 0  
   Maxx db 'Max = $'  
   Minn db 'Min = $'
   imax dw 0   
Data ends
Sst segment stack
        db 128 dup (?)
Sst ends
Code segment                       ;20
assume CS:Code, DS:Data, SS:Sst   
begin:
          mov Ax,Data
          mov Ds,Ax        
          mov Bx,0
 
          cls 
          message El
          crlf
          key_$2bin              ;30
          crlf                   
          mov Cx,Ax
          mov Dx,Ax
          message V        
          crlf
          
 
          M1:   key_$2bin
        crlf
        mov A[Bx],Ax   ; 40
        inc  Bx        
                inc  Bx
        loop M2
                message VV      
                crlf
        jmp M3
 
          M2:   jmp M1
        
          M3:   mov Bx,0        ; 50
              mov Cx,Dx       
                
        
          M4:   mov Ax,A[Bx]
                mov  Bp,Bx
        print_number     
        message Prob
        inc  Bx
                inc  Bx
                ;mov  Bp,Bx        ;60
                mov  Si,Ax
                mov  Dx,Ax      
                cmp  Dx,Max
                jae  M8         
                cmp  Dx,Si
                ja   M9 
                jmp  M7
          
          M9:   mov Si,Dx
                jmp M7          ;70
                                 
                          
      M7:   loop M5         
        jmp  M6         
          
                                         
          M8:   mov  Max,Dx
                jmp M7          
          M5:   jmp M4             ;80
                                
          M6:   mov Ax,Max      
                crlf
                message Maxx    
                print_number       
                mov Ax,Si
                crlf
                message Minn
                print_number       
                mov Ax,4c00h        ;90
                int 21h           
         
   
                                  
code ends                          
end begin
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.01.2012, 18:59
Ответы с готовыми решениями:

Найти минимальный и максимальный элементы и поменять их местами
Дан массив элементов 4х4. Найти минимальный и максимальный элементы и поменять их местами.

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

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

Поменять в массиве А соседние байты местами
Дано A DB 100 Dup(?) Поменять в массиве А соседние байты местами.

Поменять местами символы в массиве из 10 символов.
Дан маасив из 10 символов(слов). Написать программу которая меняет местами два соседних символа....

6
zzzyyyxxx
764 / 308 / 11
Регистрация: 27.05.2011
Сообщений: 704
18.01.2012, 19:27 2
Noclip, подобные темы, уже не интересны, копий твоего задания уже достаточно рассмотрено... ищи, разбирай..
по поводу номеров, а чё их искать, в [bx] указано...
0
Noclip
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
18.01.2012, 21:07  [ТС] 3
zzzyyyxxx, увы но я не нашел таковой темы.....

может покажете???
0
Noclip
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
20.01.2012, 19:21  [ТС] 4
zzzyyyxxx, я так ответа и не увидел....

Добавлено через 1 минуту
если кому надо
я написал свою программу....

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
Include macro.lib    ; vvod i vivod 
Data Segment
      B dw ? 
      Z db '      V odnomernov massive perestavit Max с Min $'
      V db 'Vvod Massiva: $'
     VV db 'Vivod Massiva: $'
    VVV db 'Vivod Massiva posle perestanovki Max c Min: $'
     El db 'Kol-vo elementov: $'
   Prob db '   $'
      A dw 100 dup (?)
    Max db 'Max - $'
    Min db 'Min - $'  
      C db 2  
   Imax db '|  Nomer Max - $'
   Imin db '|  Nomer Min - $'     
Data ends
Sst segment stack
        db 128 dup (?)
Sst ends
Code segment 
assume CS:Code, DS:Data, SS:Sst
begin:
          mov Ax,Data
          mov Ds,Ax        
          mov Bx,0
 
          cls 
          message El
          crlf
          key_$2bin
          crlf
          mov Cx,Ax
          mov B,Ax
          message V        
          crlf
          
;--------------------------------------------------------
          M1:   key_$2bin          ; Ввод массива
        crlf
        mov A[Bx],Ax
        inc  Bx
                inc  Bx
        loop M2
                message VV      
                crlf
            jmp M3
 
          M2:   jmp M1
;---------------------------------------------------------        
          M3:   mov Bx,0
        mov Cx,B
                mov Si,Bx  ;Начальное позиция max
                mov Di,Bx  ;Начальное позиция min
;---------------------------------------------------------         
          M4:  mov Ax,A[Bx]        ;Вывод массива
           print_number        ;а также нахождение
               cmp Ax,A[Si]        ;max и min, и их номера
               ja  M7
               cmp A[Di],Ax
               ja  M9
               jmp M8
          
          M9:  mov Di,Bx     
      
          M8:  message Prob
           inc  Bx
               inc  Bx
           loop M5
           jmp  M6
          
          M5:  jmp M4
 
          M7:  mov Si,Bx
               jmp M8 
;--------------------------------------------------------          
          M6:  crlf                ;Вывод max и min, 
               message Max         ;а также их номера
               mov Ax,A[Si]        ;и вывод массива после
               print_number        ;перестановки max с min
               message Prob
               message Imax
               mov Ax,Si
               div C
               inc Ax
               print_number
               crlf
               message Min
               mov Ax,A[Di]
               print_number
               message Prob
               message Imin
               mov Ax,Di
               div C
               inc Ax
               print_number
               crlf
               mov Ax,A[Si]
               mov Bp,A[Di]
               mov A[Si],Bp
               mov A[Di],Ax
               mov Bx,0
           mov Cx,B
               message VVV
               crlf
        
          M11: mov Ax,A[Bx]
           print_number     
           message Prob
           inc  Bx
               inc  Bx
           loop M12
           jmp  M13
          
          M12: jmp M11
               
 
 
 
 
 
 
               
 
 
          M13: mov Ax,4c00h 
               int 21h         
                                  
code ends
end begin
1
zzzyyyxxx
764 / 308 / 11
Регистрация: 27.05.2011
Сообщений: 704
20.01.2012, 19:30 5
Цитата Сообщение от Noclip Посмотреть сообщение
zzzyyyxxx, я так ответа и не увидел....
ты мне в личку написал, вот я и ответил, а если тебе лень в поисковике порыться, то почему я должен делать это за тебя?
0
Noclip
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
21.01.2012, 20:55  [ТС] 6
zzzyyyxxx, спасибо за вашу "помощь" , но своими трудами я уже и сам написал программу.
Да темы были , но в них ничего не было (программы)....
0
zzzyyyxxx
21.01.2012, 21:30     Поменять местами максимальный и минимальный элемент в одномерном массиве
  #7

Не по теме:

Цитата Сообщение от Noclip Посмотреть сообщение
но своими трудами я уже и сам написал программу
я только рад за тебя, своими силами смог решить свою проблему, есть повод для гордости...
Удачи!
PS: а решения на форуме всё таки есть...

0
21.01.2012, 21:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 21:30
Привет! Вот еще темы с ответами:

Поменять местами первую и последнюю буквы в массиве
Здравствуйте. Помогите, пожалуйста, с написанием программы. :)

В матрице поменять местами строку, содержащую минимальный элемент, со строкой, содержащей максимальный элемент
В произвольной матрице i=1, M , j=1, N поменять местами строку, содержащую минимальный элемент, со...

Найти максимальный отрицательный элемент в одномерном массиве
Задание: Найти максимальный отрицательный элемент в одномерном массиве. Массив задается в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru