Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2015, 01:04   #1
kucher69
Пользователь
 
Регистрация: 16.09.2015
Сообщений: 21
По умолчанию Найти максимальный повторяющийся элемент

если у кого-то есть какие-нибудь соображение подкиньте хотя бы пару идей по алгоритму! чисто что -нибудь вроде блок схемы
kucher69 вне форума Ответить с цитированием
Старый 20.09.2015, 02:13   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

элементы какого типа?

Код:
MOV eax, 0FF800000h
MOVD xmm0, eax

max_search:
    MAXSS xmm0, [rdx]
    ADD rdx, 4
DEC rcx
JNZ max_search
f.hump вне форума Ответить с цитированием
Старый 20.09.2015, 09:22   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
MAXSS xmm0, [rdx]
Не помешало бы ее узнать какой ассемблер нужен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2015, 15:10   #4
kucher69
Пользователь
 
Регистрация: 16.09.2015
Сообщений: 21
По умолчанию

8086 если можно
kucher69 вне форума Ответить с цитированием
Старый 20.09.2015, 15:36   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ну максимальный будет так:
Код:
format MZ
include 'D:\fasmw16726\INCLUDE\win32a.inc'
push	cs
pop	ds

mov cx,12
mov si,a
xor bx,bx
for:
 lodsw
 cmp ax,bx
 jng next
 mov bx,ax
next:
 loop for
 mov [max],bx
 ret

a dw 1,2,3,4,5, 6, 7, 8, 9, 10, 11, 12
max dw 0
А вот насчет повторяющегося я не очень понял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2015, 19:28   #6
kucher69
Пользователь
 
Регистрация: 16.09.2015
Сообщений: 21
По умолчанию

Stilet,
как уже выяснил это когда
0, 0, 1, 1 //massiv
будет число 1!
максимальный повторяющийся это элемент который имеет дубли (сколько дублей не важно)и среди прочих элементов с дублями имеет максимальное значение.(не мои слова)
Как думаешь на каких моментах стоит заострить внимание?
типа если нет дублей и прочее

Код:
    mov ax, data
    mov ds, ax
    mov es, ax
    XOR DX, DX
    XOR BX, BX
    LEA SI, dwArray 
    MOV CX, dwDimenArray
    SUB CX, 1
ProverkaNaDubli:
    LODSW 
    PUSH  CX
    PUSH  SI
cycle:    
    CMP AX, [si]
    JNE  nedubl
    INC BL     ;ñ÷¸ò÷èê 
êîëè÷åñòâà 
ïîâòîðåíèé

nedubl:
    ADD SI, 2
    LOOP cycle
    POP SI
    POP CX
    CMP BL, 0  ;åñòü ëè 
äóáëè ó 
÷èñëà

    JE  EndCycle  
    CMP BH, 0     ;åñòü ëè 
ìàêñèìàëü
íûå
    JNE NePervii    
    MOV DX, [si-2]    ;MAX=BL
    MOV BH, 1         ;îáîçíà÷àåì 
÷òî óæå åñòü
 max
    JMP EndCycle
NePervii:            
    CMP DX, [si-2] ;î÷åðåäíîé 
äóáëü 
    JG  EndCycle 
    MOV DX, [si-2]  ;MAX= DX = î÷åðåäíîå 
÷èñëî (ó 
êîòîðîãî 
åñòü äóáëè) 

EndCycle:
    XOR BL, BL        
LOOP ProverkaNaDubli
    CMP BH, 0
    JE NetDubleiVMassive
может кому-нибудь будет нужно!

Последний раз редактировалось Stilet; 20.09.2015 в 20:21.
kucher69 вне форума Ответить с цитированием
Старый 20.09.2015, 20:23   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Как думаешь на каких моментах стоит заострить внимание?
Пффф...
Значит еще один цикл, который считает количество элементов равных текущему, и если оно более 1 - запомнить его как максимальный.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.09.2015, 20:51   #8
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

...а чё нельньзя считывая сразу проверять верхнюю единицу? Если старший бит - ! , значит всё ОК! Значит число отрицательноею Можно вытолкнуть еденицу, и и смотреть флаг! Много-ж есть вариантов

..не забуду как мне Stilet мозги вправил....
Нашедшего выход - затаптывают первым..

Последний раз редактировалось Stilet; 20.09.2015 в 21:26.
R71MT вне форума Ответить с цитированием
Старый 20.09.2015, 20:54   #9
kucher69
Пользователь
 
Регистрация: 16.09.2015
Сообщений: 21
По умолчанию

А КАК ТЕПЕРЬ УДАЛИТЬ ЭТИ МАКСИМАЛЬНЫЕ ПОВТОРЯЮЩИЕСЯ ЭЛЕМЕНТЫ?
kucher69 вне форума Ответить с цитированием
Старый 20.09.2015, 21:27   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
КАК ТЕПЕРЬ УДАЛИТЬ ЭТИ МАКСИМАЛЬНЫЕ ПОВТОРЯЮЩИЕСЯ ЭЛЕМЕНТЫ?
Только переписыванием в новый массив.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальный элемент maxim1592 Паскаль, Turbo Pascal, PascalABC.NET 5 28.05.2014 19:37
создать массив по формуле,найти максимальный элемент. отсортировать по уменьшению,последний отрицательн элемент заменить наиболшим сергей-верига Помощь студентам 2 16.01.2014 15:25
найти максимальный элемент на языке си istavzev Помощь студентам 4 05.04.2012 19:32
Массив. Найти максимальный элемент perojenko Помощь студентам 6 22.06.2009 22:36