⚽
![]() ![]() 4163 / 1266 / 228
Регистрация: 27.07.2009
Сообщений: 3,939
|
||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||
Операции над строками14.12.2010, 15:22. Просмотров 59057. Ответов 18
В этой теме представлены реализации алгоритмов работы со строками.
Выкладывайте свои реализации на языке Pascal. Содержание 1. Замена первого вхождения подстроки другой подстрокой
2. Функция удаления лишних пробелов
3. Функция переворачивания строки
4. Функция разбития строки на слова. 5. Функция переворачивания строки. Вариант 2. 6. Удаление двойных пробелов. 7. Удаление пробелов вначале и в конце строки. 8. Удаление повторяющихся пробелов без использования Delete 9. Замена первого вхождения слова другим словом. 10. Извлечение нужного слова из строки
Free Pascal
11. Перевод строки в биты 12. Удаление пробелов из строки 13. Выделение имени файла из полного пути 14. Набор функций для работы с путями и именами файлов и папок
18
|
|
14.12.2010, 15:22 | |
Операции над строками
Прграммы имитирующие операции над строками Программирование операций над строками и текстовыми файлами... |
|
1998 / 1598 / 488
Регистрация: 31.05.2009
Сообщений: 2,990
|
||||||
24.12.2010, 01:38 | 2 | |||||
Функция разбития строки на слова.
11
|
Retired
7720 / 2552 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
|||||||||||||||||||||
25.12.2010, 05:41 | 3 | ||||||||||||||||||||
Я бы написал так
8
|
2821 / 1630 / 252
Регистрация: 03.12.2007
Сообщений: 4,222
|
|||||||||||
25.12.2010, 15:45 | 4 | ||||||||||
В удалении повторяющихся пробелов использование Delete неоптимально. Как вариант:
TP
10
|
8 / 8 / 7
Регистрация: 07.04.2011
Сообщений: 19
|
||||||
07.04.2011, 19:12 | 5 | |||||
Удаление пробелов из строки
3
|
⚽
![]() ![]() 4163 / 1266 / 228
Регистрация: 27.07.2009
Сообщений: 3,939
|
||||||
07.04.2011, 19:50 [ТС] | 6 | |||||
как на счет такого варианта:
4
|
Волшебник
654 / 257 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
08.04.2011, 12:29 | 7 | |||||
Как то писал функцию перевода строки в биты(т.е. не совсем биты, а строка состоящая из 0 и 1)
Может кому пригодится
8
|
Волшебник
654 / 257 / 88
Регистрация: 18.12.2010
Сообщений: 545
|
||||||
09.04.2011, 08:43 | 8 | |||||
В дополнении хотел добавить ещё одну функцию, которая выделяет из полного пути к файлу
имя файла с расширением или без него(задается в параметрах). З.Ы.Если есть стандартные функции делающие то-же самое то просьба меня извинить, я их не знаю
8
|
2854 / 1983 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
|
|||||||||||
09.04.2011, 11:22 | 9 | ||||||||||
S9
уж больно сложно.Это и так можно сделать.
8
|
Incred
|
|
22.06.2011, 15:04 | 10 |
может кто-нибудь организует все операции в процедуры? думаю будет полезным и удобным.
как вот здесь: Сортировки |
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 834
|
||||||
25.08.2011, 02:03 | 11 | |||||
0
|
13058 / 5844 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
|
|||||||||||
18.09.2011, 05:43 | 12 | ||||||||||
Предлагаю набор функций для работы с путями и именами файлов и папок в среде Borland и Turbo Pascal.
Выполнил в виде модуля:
5
|
2 / 2 / 3
Регистрация: 25.04.2011
Сообщений: 122
|
||||||||||||
23.12.2011, 14:51 | 13 | |||||||||||
Было бы еще лучше если бы каждая переменная описывалась для чего она необходима.
И не могли бы вы добавить процедуру удваивания каждого символа в предложении.
0
|
⚽
![]() ![]() 4163 / 1266 / 228
Регистрация: 27.07.2009
Сообщений: 3,939
|
|
24.12.2011, 09:19 [ТС] | 14 |
0
|
2 / 2 / 1
Регистрация: 23.09.2012
Сообщений: 34
|
||||||
01.12.2012, 19:48 | 15 | |||||
Пример использования этого можно? Что за параметр такой - dest? Как понимаю, этому массиву надо самостоятельно задавать размер. А если длина заранее неизвестна? А если надо экономить память и не выделять ее слишком много?
0
|
1998 / 1598 / 488
Регистрация: 31.05.2009
Сообщений: 2,990
|
|||||||||||
01.12.2012, 20:54 | 16 | ||||||||||
Вариант с dest: array[1..10] of string; должен компилироваться как во Free Pascal так и в Turbo Pascal. Насчёт остальных компиляторов без понятия.
Под такие массивы память выделяется с помощью SetLength
0
|
2 / 2 / 1
Регистрация: 23.09.2012
Сообщений: 34
|
|
01.12.2012, 21:44 | 17 |
Только в PascalABC появляется ошибка strings.pas(35) : Неправильный тип параметров подпрограммы, а во фри паскале программа компилируется, но при запуске крашится.
0
|
28.11.2013, 15:47 | 18 | |||||
Самый простой разбор на слова
Заметил, что огромное число вопросов по Паскалю - разобрать строку на слова. Если ткнуть в хороший, годный код - число вопросов удваивается ("а как это работает?") Приведённый ниже самый простой, "школьный" код, воспринимается оптимистичней. Если было - сорри. s - исходная строка, предполагается, что слова разделены хотя бы одним пробелом, "посторонние" знаки в конце слов (запятые, точки и т.п.) не учитываются. Программа не сохраняет строку s. w - очередное слово. Его можно обрабатывать (вместо вывода в отдельную строку консоли, как в примере) p - позиция очередного пробела, если пробела нет, принимает значение 0 после вызова стандартной функции pos. len - длина очередного слова count - количество слов
0
|
13058 / 5844 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
|
||||||
28.11.2013, 18:19 | 19 | |||||
Я разбивку на слова выполняю так:
1
|
28.11.2013, 18:19 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Программирование операций над строками и текстовыми файлами Программирование операций над строками и текстовыми файлами Операции над множествами Операции над записями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |