1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| forscripts |
15.12.2007 17:05
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: 0 |
Итак, суть задачи: дан файл input.txt, содержащий в первой строке число - количество строк, а затем строку в каждой строке. Необходимо отсортировать эти строки в порядке убывания, при этом создав файл config.txt вида
Код 1 1 1 //Первое число показывает, стоит урезать пробелы или нет. Если надо обрезать пробелы, ставим 1. Если не надо, 0. Пример: При сравнении строк "А Б В" и " АБВ" со значением опции 1 в выходной файл будут выведены строки "АБВ" и "АБВ", со значением опции 0 - " АБВ" и "А Б В" соответственно. //Второе число показывает, считать большие буквы равные маленьким, или нет. Если считать большие буквы равные маленьким, ставим 1. Если считать их разными, 0. Пример: При сравнении строк "абв" и "АБВ" со значением опции 1 в выходной файл будут выведены "АБВ" и "АБВ". При значении опции 0 - "АБВ" и "абв" соответственно. //Третье число показывает, транслитерировать русские названия или нет. Если надо транслитерировать русские названия, все кириллические символы будут переведены в символы латиницы. Если нет, то русские символы останутся на месте, а все русские строки в выходном файле будут расположены после латинских. Пример: При сравнении строк "zak" и "абв" при значении опции 1 в выходной файл будут выведены "abv" и "zak", при значении опции 0 - "zak" и "абв" соответственно. Результат должен быть выведен в файл output.txt Моя программа (все текстовые файлы и исходник программы) добавлена в прикрепления. Вот код основной программы:
Программа компилируется и абсолютно корректно работает со строками в латинице и кириллице с отключенными опциями 2 (перевод с верхний регистр) и 3 (транслитерация). С включенными опциями 2 и 3 программа с кириллицей работает некорректно. Если я правильно понимаю, скомпиленная ФриПаскалем прога не может корректно работать с виндовскими текстовыми файлами, и поэтому считывает кириллицу некорректно. Подскажите, пожалуйста, что делать, и как научить прогу полностью корректно обращаться с кириллицей. Спасибо. Сообщение отредактировано: forscripts - 17.12.2007 16:49 Прикрепленные файлы
StringSort.rar ( 2.49 килобайт )
Кол-во скачиваний: 153 |
![]() ![]() |
| andriano |
17.12.2007 18:57
Сообщение
#2
|
|
Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Так надо отнимать не от ЛЮБОГО символа кириллицы, а только от СТРОЧНОГО.
|
forscripts Задача на сортировку стрингов. 15.12.2007 17:05
andriano Судя по функции up - приведение к верхнему регистр... 15.12.2007 17:33
volvo forscripts, для начала разберись с компилятором. Е... 15.12.2007 17:43
andriano А вообще вопрос надо бы передвинуть... В 32-бита..... 15.12.2007 18:17
forscripts andriano, спасибо за помощь, попробую так...
Я про... 17.12.2007 16:48
forscripts я понял, просто неправильно выразился))
все равно ... 17.12.2007 19:04
andriano Да, для ё и некоторых букв украинского/белорусског... 17.12.2007 19:29![]() ![]() |
|
Текстовая версия | 15.11.2025 16:31 |