|
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
|
|
Удаление кратных пробелов02.09.2013, 17:40. Показов 1621. Ответов 3
Метки нет (Все метки)
Как из строковой последовательности удалить кратные пробелы. Знаю как сделать для 2 под ряд идущх пробелов а для 3 и более затруднение. Помогите пожалуйста.
0
|
|
| 02.09.2013, 17:40 | |
|
Ответы с готовыми решениями:
3
удаление пробелов Удаление излишних пробелов |
|
Мишка Косолапый :)
285 / 255 / 86
Регистрация: 15.02.2012
Сообщений: 1,511
|
|
| 02.09.2013, 17:55 | |
|
При нахождении пробела увеличивай переменную.
Дели кол-во пробелов на число так: i div 2 это разделит i на 2 нацело. Ну и останется удалить. НО! удялять нужно начиная с последнего пробела к первому.
0
|
|
|
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
|
||||||
| 02.09.2013, 17:57 [ТС] | ||||||
|
Спасибо. Вот сам додумался до такого (вроде работает):
0
|
||||||
|
Заблокирован
|
||||||
| 03.09.2013, 14:24 | ||||||
|
Вообще операция удаления очень долгая. Есть несколько алгоритмов работающих намного быстрее. основаны они на копировании.
Один из них такой. Нужно ввести счётчик записи. счётчик цикла будет считать чтение символа. и ещё нужно ввести переменную, сохраняющую предыдущий символ. при сканировании строки, инкримируем счётчик записи. и каждый символ перезаписываем. При этом он сохраняется как предыдущий символ. Когда встречается пробел, ситуация меняется. идёт проверка на предыдущий символ. Если это не пробел, то всё идёт как обычно. Если предыдущим символом был пробел, то записи не происходит и счётчик записи не увеличивается. Таким образом следующий символ (позицию записи надо инкримировать) записывается в позицию сразу же после одного пробела. Таким образом вся строка начинает "поджиматься." Когда сканирование закончится, в счётчике записи будет новая длина строки. По ней обрезаем "хвост". Ещё можно ввести флаг по которой перезаписи символа вначале производится не будет, поскольку перезапись нужна только при поджиме, и если дублей пробелов нет, то будет только лишняя трата времени. Как только встретиться дубль, флаг сбросится и все последующие символы будут перезаписываться в новую позицию. Вот так за один проход. А функция delete производит поджим после каждого удаления. Добавлено через 10 минут Второй алгоритм требует сделать копию строки. При этом читать будем копию, а записывать в исходник. Всё аналогично, только без поджима. Просто игнорируется запись "дубля" В конце по счётчику позиций обрезаем хвост. Флаг тоже можно ввести. Но теперь мы никакой записи не производим и копии не создаём, пока не встретим дубль. После это уже и делаем копию и начинаем перезапись строки. Добавлено через 3 минуты Я не врубался в ваш алгоритм, но у вас явный недочёт edt3.Text:=s1; нужно вынести за пределы цикла. Зачем каждый раз выводить формируемую строку? Добавлено через 6 часов 54 минуты Если кому-то надо, то вот код первого варианта
0
|
||||||
| 03.09.2013, 14:24 | |
|
Помогаю со студенческими работами здесь
4
Удаление ненужных пробелов Удаление повторяющихся пробелов / символов в тексте Удаление лишних пробелов из текстового файла. удаление пробелов перед знаками препинания Удаление всех пробелов в текстовом файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|