#c #текст #форматирование #задачи
Книга Язык программирования Си. Денис Ритчи упражнение 1.20:
Напишите программу detab, заменяющую символы табуляции во вводимом
тексте нужным числом пробелов (до следующего "стопа" табуляции).
Предполагается, что "стопы" табуляции расставлены на фиксированном
расстоянии друг от друга, скажем, через n позиций. Как лучше задавать
n - в виде значения переменной или в виде именованной константы?
Вопрос: Правильно ли я понял задание?
В Википедии сказано, что табуляция это 8 знакомест. Как бы табуляция это константное
число знакомест. Или я чего-то не понимаю?
Я задание понял так: если введена табуляция, заменить ее на 8 пробелов. И мне не
понятно, зачем в задании указывать на каком расстоянии друг от друга стопы табуляции?
И что такое "стопы" табуляции? Стоп и символ табуляции это одно и то же?
Я смотрел другие решения в интернете, у других людей, почему-то, количество пробелов
заменяемых на табуляцию, в разных вводимых строках - разное...
Ответы
Ответ 1
Нет, вы неверно понимаете, что такое табуляция. Но проще пояснить на примере. Вот, например, имеем: Это текст с пробелами И еще один текст Все они выровнены Вы предлагаете: Это текст с пробелами И еще один текст Все они выровнены Правильно: 0 0 1 2 0 8 6 4 Это текст с пробелами И еще один текст Все они выровнены Так понятно? Табулятор вносит столько пробелов, чтоб новое слово шло с очередной позиции табуляции, в данном случае - кратной 8 (что не обязательно, и вряд ли в Википедии сказано, что это строго 8. Скорее что-то вроде "распространенное значение - 8").
Комментариев нет:
Отправить комментарий