Quest 2. Basic control structures. Some problems with symbols
> Запушить файл src/1948.c
Кажется, ИИ только этого и ждал. На экране снова появляется текст:
Получил твое решение. Посмотрим.
Если задача действительно решена,
то это нам сможет помочь в восстановлении комнаты.
Тут как раз была загвоздка с наибольшими делителями.
С ними всегда одни проблемы.
Попытка восстановления комнаты:
10%
20%
30%
40%
50%
60%
Ошибка...
Ошибка...
Хм, значит, дело было не только в наибольших делителях.
Но как минимум теперь с ними теперь точно порядок.
А нужно ли вообще восстанавливать комнату? Кажется, и так хорошо.
Продолжим искать наибольшие делители...
> Ввести: «Восстановить комнату»
Результат на экране:
Хорошо, продолжим.
Загрузка резервного модуля восстановления...
Модуль загружен.
Запуск модуля восстановления...
48 45 4C 4C 4F 77 4F 52 4C 44 00
> Что это? Похоже на какой-то код
Кажется, у запускаемого резервного модуля проблемы с кодированием вывода. И, скорее всего, ввода, так что он тебя не поймет. Цифры тебе напоминают о табличке на одном из листов. Возможно, стоит обратить на нее внимание.
Судя по всему, тут необходимо разработать небольшую вспомогательную программу, работающую в двух режимах — кодирования и декодирования. Выбор режима работы программы должен производиться как параметр командной строки, где 0 — кодирование, а 1 — декодирование. При декодировании программа должна принимать из stdin строку из шестнадцатиразрядных целых чисел, разделенных пробелом, и выдавать в stdout разделенные пробелом декодированные символы. При кодировании должна выполняться обратная операция. Сами подзадачи кодирования (символ -> число) и декодирования (число -> символ) стоит выделить в отдельные функции. Не забудь расположить файл с программой по пути src/char_decode.c в репозитории.
Получен Quest 2. Создать программу src/char_decode.c, которая принимает в качестве параметра командной строки режим работы (0 — кодирование или 1 — декодирование). Если выбран режим декодирования, то программа должна принимать из stdin разделенные пробелом двухсимвольные строки и выдавать в stdout декодированные символы, разделенные также пробелом. При кодировании выполняется обратная операция. Подзадачи кодирования и декодирования должны быть выделены в отдельные функции. Обратить внимание на ASCII-таблицу. В случае ошибки выводить «n/a». Признаком окончания ввода служит символ переноса строки.
Параметры командной строки Входные данные Выходные данные
0 W O R L D 57 4F 52 4C 44
0 WORLD n/a
1 48 45 4C 4C 4F H E L L O
1 48454C4C4F n/a