1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Задача по матрицам на Ассемблер

Тема в разделе "Вопросы новичков и не только", создана пользователем Annet, 4 янв 2011.

  1. Annet

    Annet Гость

    Репутация:
    0
    Пожалуйста,помогите решить задачу .
    Ввести размерность m x n и элементы матрицы( слова, положительные числа). При вводе элементов учесть следующее требование: максимальный элемент в каждом из столбцов с нечетными номерами присутствует в одном экземпляре.
    Вывести на экран исходную матрицу. Заменить максимальные элементы в нечетных столбцах на нули. Вывести на экран преобразованную матрицу.
     
  2. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Annetа
    Ну давай.
     
  3. Rififi

    Rififi Гость

    Репутация:
    0
    Annetа

    что-то как-то много условий для лабы по ассемблеру. ты ничего не напутала? где например брать память под динамический двумерный массив? в ассемблере никаких встроенных средств для этого нет.
     
  4. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    а чего тема в с++ тогда? %)
     
  5. Annet

    Annet Гость

    Репутация:
    0
    извиняюсь,за то что не туда тему кинула.нет ничего не путала.помогите плиз.есть подобная задача но даж по ней как то не особо удается разобраться((.
     
  6. Annet

    Annet Гость

    Репутация:
    0
    могу кинуть код подобной,задачи. помогите плиз.
     
  7. Annet

    Annet Гость

    Репутация:
    0
    вот в этой части я предполагаю должна быть ошибка, но никак не найду.
    nechet_stlb:


    mov bx,0 ;начальный номер строки
    push cx ;начало внешнего цикла - сохранение счетчика
    test ds:mas[bx][si],1b ;тестируем 0 бит (четность столбца)
    jnz nech ;если не четный - переход на след. столбец


    mov cx,9 ; цикл повторится это количество раз(макс. кол-во строк)
    stroka3:
    mov dl,max ;копируем макс. эл. в dl
    cmp ds:mas[bx][si],dl ;сравниваем макс. элемент со следующим
    jbe x ;если меньше или равно - переход на метку
    ;иначе
    mov al,ds:mas[bx][si] ;копируем наибольшее число в max
    mov max,al ;заносим новое значение max
    mov di,si ;сохраняем индекс строки макс. эл. в di

    x:
    inc bx ;переход на следующий эл. в столбце
    loop stroka3

    pop cx ;изъятие значения счетчика внешнего цикла из стека
    mov bx,di
    mov ds:mas[bx][si],0 ;заменяем макс. эл. на нуль

    nech:
    add si,1 ;переход на след. столбец
    loop nechet_stlb
     
  8. RiCrO

    RiCrO Гость

    Репутация:
    0
    Ну так если она "обнуляет", значит Вы так написали. Найдите строчку кода, где происходит этот процесс, и будет вам счастье...
     
Загрузка...

Поделиться этой страницей