Контрольная работа "Строки" на языке Си

Выполнен
Заказ
4655837
Раздел
Программирование
Предмет
Основы программирования
Антиплагиат
Не указан
Срок сдачи
21 Мар 2022 в 19:00
Цена
Договорная цена
Блокировка
10 дней
Размещен
21 Мар 2022 в 13:31
Просмотров
119
Описание работы

Программа получает с потока стандартного ввода текст. Нужно переставить местами чётные и нечётные символы. Некорректные байты (ascii: ≥ 128, utf-8: каждый байт незавершённой последовательности) во входных данных пропускаются. Пустой ввод допускается, в этом случае ожидается пустой вывод. Если в тексте нечётное количество символов, последний символ остаётся на месте.

Примеры:

ABCD -> BADC

ABC -> BAC

A -> A

Программа проходит три теста: byte, codepoint и grapheme:

Тест byte проверяет работоспособность программы на тексте ASCII («1 символ = 1 байт»). Проверить себя в python3 — посмотреть длину строки в нужных терминах — можно так: `len("my-test-string".encode('utf-8'))`. Тестер:

```

python3 .github/test-byte.py

```

Тест codepoint проверяет работоспособность программы на тексте в кодировке UTF-8 без модификаторов, например, на кириллице («1 символ = 1 кодирующая последовательность от 1 до 4 байт»). Проверить себя в python3 можно стандартной функцией длины: `len("моя тестовая строка")`. Тестер:

```

python3 .github/test-codepoint.py

```

Тест grapheme проверяет работоспособность программы на тексте в кодировке UTF-8 с модификаторами («1 символ = 1 grapheme cluster в терминах стандарта Unicode, спецификация: https://www.unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table), например, 🇷🇺 — 1 grapheme cluster. Проверить себя в python3 можно с помощью пакета `grapheme`: https://grapheme.readthedocs.io/en/latest/grapheme.html

```

# один раз: установить пакет (мы не изучаем Python, поэтому установка упрощённая)

pip3 install --user grapheme


python3

# ">>>" вводить не нужно, это для демонстрации того, что команда вводится в python3

>>> import grapheme

>>> grapheme.length("🇷🇺")

1

```

Тестер (для него тоже нужна библиотека grapheme):

python3 .github/test-grapheme.py


Т.к. в стандартном вводе могут быть некорректные Unicode-последовательности, тестер выводит входные данные в формате Python. Чтобы проверить работу программы на таких входных данных, нужно предварительно пропустить их через скрипт demo-input.sh, вставив входные данные в качестве первого аргумента в кавычках:

```

./github/demo-input.sh "b'\xd1\x8b'" | ./main

```

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