![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
lopata |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 99 Пол: Женский Реальное имя: vera Репутация: ![]() ![]() ![]() |
Помогите пожалуйста разобраться как делать.
Кодирование длин серий (Run-length encoding, RLE) - простая техника сжатия,при которой каждая последовательность знаков, которые состоят более чем из 2 одинаквых знаков, кодируется по первому знаку и длине последовательности. Реализуйте простой вариант этого способа в форме программы фильта, которая кодирует и снова декодирует текстовые файлы,в которых содержатся только строчные и прописные буквы , знаки препинания и пробелы (но не цифры).Ваша программа должна предлогать следующие возможности вызова из камандной строки (метасимболы[...] и ...|... стоят для опций или альтернатив): RLE [ -c | -d ] [inFile] [outFile] Значение параметров: -c входной файл нужно кодировать (значение по умолчанию), -d входной файл нужно декодировать, inFile имя входного файла, иначе стандартный ввод (input) outFile имя выходного файла, иначе стандартный вывод (output). Пример: ![]() Файлы я пока не трогала...Попыталась просто кодировать. В переменную ch сохраняю символ, если он равен следующему - увеличиваю счетчик, если нет - скидываю в строку str2 и текущий символ сохраняю снова в ch и так далее. Не работает..:
|
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что такое командная строка - знаешь? Говоря на пальцах, это то, что есть в любом нормальном файловом менеджере, там можно написать myProgram.exe, а можно написать myProgram.exe a b c d, через пробел (если же написать "myProgram.exe a" b c d, то часть, заключённая в кавычки, будет пониматься как один параметр, несмотря на то, что в ней содержится пробел). Это означает, что ты вызываешь программу myProgram.exe с параметрами a, b, c, d. То, что написано в свойствая ярлыка в строке "Объект" - это тоже команда, как правило, она там без параметров. Когда ты открываешь файл "a.txt", на самом деле вызывается команда notepad.exe a.txt, то есть в качестве параметра идёт имя открываемого файла. Поэтому все приличные программы знают, когда надо при запуске показать пустое окно, а когда - сразу открыть файл.
Программа получает информацию о них через функции ParamCount (в данном примере, с myProgram.exe a b c d - 4), и через ParamStr(N) (N от 0 до 4). Твоя программа может принимать до 3 параметров, надо отдельно разобрать случаи разного их количества, чтобы сформировать, что программа должна делать. Типа так:
-------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 16:27 |