![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Vania |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не понимаю, как осуществить ету самую длинную строку....
В текстовый файл занесена строка длиной более 255 символов (в строке мо-жет быть только одно слово). Вывести на экран строку, удалив повторяющие «лишние» пробелы (если они есть), и удалить все последующие вхождения первой буквы в каждом слове. |
Tan |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
Используй указатели если вы проходили.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Используй указатели Указатель на что?Лучше всего пройти по строке посимвольно (используя комбинацию eoln(f) и eof(f) как признак того, что текущая строка закончена), и каждый символ проверяя на предмет заданных тобой ограничений... |
Tan |
![]()
Сообщение
#4
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
type base = ^MyRec Ну то есть указатеть на символ и на его номер на всякий случай. Сначала считываем всё с файла в вышеописанную структуру. После этого пробегаем по указателям на символ если нет лишнего пробела пишем в файл если есть удаляем идём к следующему символу. Ну и с вхождениями проблем не должно быть по идее. Сообщение отредактировано: Tan - -------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
а в файле есть строки, кроме этой длинной? то есть ее надо просто распечатать или же сначала найти?
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата Сначала считываем всё с файла в вышеописанную структуру. Да? Все, что тебе удастся считать - это один символ...Если у тебя массив этих структур (или список) - то это называется избыточность: на один байт обрабатываемых данных ты имеешь в 2 раза больше сопроводительной информации. |
Tan |
![]()
Сообщение
#7
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
нащёт избыточности : ну да так и есть, но в таком задании наврядли надо так строго подходить а по поводу структуры, пардон array [1..N] of char вместо просто char.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата ну да так и есть, но в таком задании наврядли надо так строго подходить а по поводу структуры Кто тебе это сказал ? Ну давай туда еще всякой белиберды запихнем, в каком регистре этот символ, его код еще отдельно сохраним... -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Tan |
![]()
Сообщение
#9
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 559 Пол: Мужской Реальное имя: Бруно Репутация: ![]() ![]() ![]() |
Нет, ну если бы автор упомянул что ему нужен какой - то определённый вариант решения, я согласен тогда можно бы было корректировать, а если ничего не сказано, значит приветвуются все, я просто предложил решение в моём понимание, никто не оспаривает, что оно не является лучшим, каждый по своему это воспринимает, возможно оно приглянётся автору вопроса. В любом случае огромное спасибо за ваши комментарии.
-------------------- Цитата Imagination is more important than knowledge. Albert Einstein |
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ну вот посмотри, тут не вся программа, процедура формирует файл из одной очень длинной строки (можно можно сформировать сколько угодно таких строк), далее начинается обработка, читается строка из файла, если её длина > 255, то из нее удаляются пробелмы в начале и в конце.
uses crt; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Vania |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 30 Пол: Мужской Репутация: ![]() ![]() ![]() |
Любые решения принимаются!
Премного благодарю всех всех всех!! Вы мне очень помогли! |
![]() ![]() |
![]() |
Текстовая версия | 29.03.2023 23:37 |