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