В двумерном массиве A[N*M] найти максимальный элемент в последнем столбце. (раздельная компиляция asm и C) - Assembler

Узнай цену своей работы

Формулировка задачи:

Есть массив A[N][M].
extern "C" int Fun(int *a);
z = Fun(*A);
Надо вернуть максимальный элемент в последнем столбце.
.686
.MODEL FLAT, C
.STACK
.DATA
.CODE
Fun PROC C mas:dword
            
        mov esi,mas

    ret
Fun ENDP
END
Как это сделать и в чем идея? Можно даже для матрицы конкретно размеров N = 3, M = 4;

Решение задачи: «В двумерном массиве A[N*M] найти максимальный элемент в последнем столбце. (раздельная компиляция asm и C)»

textual
Листинг программы
extern "C" int Fun(int *A, int H, int W);  // Передаём указатель на начало, кол-во строк и столбцов
int A[3][4];  // Статический массив
.............    // Тут массив видимо должен заполняться
int Max=Fun(A,3,4);  // Вызываем функцию

Объяснение кода листинга программы

  1. В начале кода объявляется функция Fun, которая принимает три аргумента: указатель на начало массива A, количество строк H и количество столбцов W.
  2. Далее объявляется двумерный массив A размером 3x4.
  3. После этого происходит заполнение массива A значениями. Эта часть кода отсутствует в предоставленном фрагменте.
  4. Затем вызывается функция Fun с аргументами A, 3 и 4.
  5. Значение функции Fun присваивается переменной Max.
  6. Функция Fun возвращает максимальное значение из последнего столбца массива A.
  7. Если этот максимум был найден в последней строке, то он возвращается.
  8. Если максимум был найден в предыдущей строке, то возвращается максимум из последней строки предыдущего столбца.
  9. Если максимум был найден в строке, предшествующей предыдущей, то возвращается максимум из последней строки предыдущего столбца.
  10. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  11. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  12. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  13. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  14. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  15. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  16. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  17. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  18. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  19. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.
  20. Если максимум был найден в первой строке, то возвращается максимум из последней строки первого столбца.

ИИ поможет Вам:


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

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы