Задача на nasm

Выполнен
Заказ
6082267
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
10 Мая 2024 в 23:55
Цена
Договорная цена
Блокировка
10 дней
Размещен
10 Мая 2024 в 16:09
Просмотров
72
Описание работы

Требуется выполнить очень простую задачу. На стандартном потоке ввода задаётся количество целых 32х-битных чисел, а затем сами эти числа. Требуется вывести эти числа в том же порядке, с переводом строки в качестве разделителя между ними. Однако, не всё так просто и решить поставленную задачу нужно описанным ниже способом.


Требуется реализовать функцию apply, которая на языке Си имела бы сигнатуру apply(int* array, size_t length, void (*fn) (...), int n, ...); В качестве первого параметра эта функция принимает указатель на массив целых чисел, затем следует количество элементов в этом массиве, затем идёт указатель на функцию, принимающую n+1 (где, n - это четвёртый параметр функции apply) четырёхбайтовых параметров. В качестве неопределённых параметров функция apply ожидает n четырёхбайтовых параметров. Функция apply должна перебрать все числа из массива array и для каждого из них вызвать функцию fn, передав ей в качестве первых n параметров те самые n параметров, которые следуют после параметра n. (n+1)ым параметром функции fn должно стать как раз очередное перебираемое число из массива array.


С помощью функции apply и требуется решить поставленную задачу. Для этого требуется сохранить входной массив в памяти, а затем вызвать функцию apply, передав в качестве третьего параметра функцию стандартной библиотеки fprintf. На языке программирования Си данный вызов выглядел бы приблизительно так: apply(array, length, fprintf, 2, stdout, "%d\n"). Стандартный вывод stdout можно получить либо через вызов (доступной в io.inc) функции FILE* get_stdout(), либо используя printf.


Запрещается использовать макросы ввода-вывода библиотеки io.inc. При вызове всех библиотечных функций стек должен быть выровнен по 16 байт.


Примеры

Входные данные

5 1 2 3 4 5

Результат работы

1

2

3

4

5

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
1 час 9 минут
Выполнен в срок
Отзыв о выполненном заказе
Предыдущий заказ
Следующий заказ
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир