0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
||||||
1 | ||||||
Ввод текста в Мемо1 и вывод текста в Мемо2 по возрастанию слов08.12.2019, 18:04. Показов 2865. Ответов 33
Метки нет Все метки)
(
Здравствуйте!
Пользователь вводит текст в Мемо1, по нажатию кнопки текст должен выйти в Мемо2 уже отсортированным по возрастанию количества символов в словах. Думаю сделать это так: Текст считывается с Мемо1 по буквам, заносится в массив по словам. Далее по длине букв в словах массив сортируется. Слова из отсортированного массива заносятся в строку, которая потом выводится в Мемо2. Гладко было на бумаге... Как бы это реализовать не подскажете? Вот что удалось набросать.
Спасибо. P.S. Нуб в C++
0
|
|
08.12.2019, 18:04 | |
Ответы с готовыми решениями:
33
Что надо прописать в батон , что бы с мемо1 вывести в мемо2 только числа , что есть в мемо1 Проверяем каждую строчку в мемо1 и если в ней найдено login, то тогда в мемо2 под номером строчки из мемо1 добавляем стр
Ввод текста, обработка и вывод текста в то же поле |
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
08.12.2019, 18:17 [ТС] | 2 |
скрин
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
08.12.2019, 18:34 [ТС] | 4 |
0
|
Модератор
|
||||||
08.12.2019, 19:00 | 5 | |||||
![]() Решение
Ну, если для простоты упустить из виду, что в обычном тексте встречаются такие штуки, как знаки препинания и если принять, что слово - это непрерывный набор символов, отделенный от других слов знаком пробела - то можно это так сделать:
1
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
08.12.2019, 19:30 [ТС] | 6 |
D1973
Спасибо конечно. Но пояснить бы что здесь происходит не помешало бы.
0
|
Модератор
|
|
08.12.2019, 20:16 | 7 |
1. Создается список строк StringList
2. Указывается, что для разделения строк при заполнении списка будет использоваться единственный разделитель. Другие возможные разделители будут проигнорированы 3. Задается этот самый разделитель (символ "пробел") 4. Удаляем в Мемо1 все символы переноса строк (если они тем есть), удаляем лишние пробелы в начале и конце текста в Мемо1 (опять же, если они есть) и обработанный таким образом текст вносится в StringList, формируя список ( т.е. фраза "пользователь вводит текст в Мемо1" разбивается по пробелам и из нее получается список строк: пользователь вводит текст в Мемо1 ) 5. Сортируем список, используя метод CustomSort. В качестве параметра метода выступает доп. функция LenSort(), которая сортирует строки списка именно по их длинам. 6. Из отсортированного списка собираем строку, используя все тот же пробел в качестве разделителя слов. Полученный текст записываем в Мемо2 Вроде, все строки откомментировал...
1
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
08.12.2019, 20:26 [ТС] | 8 |
D1973
Спасибо конечно. На заметку оставлю себе. Но нужно исполнение именно с применением массивов( Не по теме: ... и не плохо было бы если вы подсказывали в другой теме. Там более понятно что происходит.
0
|
D1973
|
08.12.2019, 20:32
#9
|
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
||||||
08.12.2019, 20:36 [ТС] | 10 | |||||
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
||||||
09.12.2019, 06:32 [ТС] | 12 | |||||
D1973
Как это правильно написать? Так?
так не работает. В ту сторону хоть иду? Добавлено через 1 минуту
0
|
Модератор
|
||||||
09.12.2019, 08:25 | 13 | |||||
sayer, вот без обид, но Вы никуда не идете, Вы тычетесь из угла в угол без какого-то продвижения вперед...
Начинать надо с постановки задачи! Вот есть у Вас задание: "выстроить слова текста в порядке возрастания их длин". Основной задачей теперь становится разбиение текста на отдельные слова, далее - помещение этих разделенных слов в объект, имеющий возможность сортировки (список, вектор или массив), потом непосредственно сама сортировка и, наконец, обратная сборка текста из отдельный слов. Ну и если Вы пишете: то вот пример с динамическим строковым массивом
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
10.12.2019, 06:02 [ТС] | 14 |
Можно литературу, почитать про это всё?
А то мои вопросы ещё страниц пять займут. Добавлено через 3 минуты гуг не в счет. Либо лабуда на английском. Либо не по теме Добавлено через 24 минуты Да и еще, у меня прога почему то последнее слово съедает.
0
|
Модератор
|
|||||||||||
10.12.2019, 09:44 | 15 | ||||||||||
Не у Вас, а у нас... Косякнул малость
![]() Для исправления: либо во всех циклах for условие втором параметре изменить на <=
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
||||||||||||||||
10.12.2019, 10:33 [ТС] | 16 | |||||||||||||||
D1973
Есть массив букв
На это выдает Range Check Error
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
||||||||||||||||
10.12.2019, 12:11 [ТС] | 18 | |||||||||||||||
D1973
Очень хорошо спасибо) Теперь как бы из этого массива строк по букве вытаскивать и приставлять к строке, а в случае если встретится пробел то пропускать эту итерацию и продолжать цикл не приставляя пробел к строке?
Добавлено через 30 минут D1973 В массив AnsiString можно записывать слова в элемент или только буквы? Массив такого типа может быть динамическим? Если да, то как его удлинять? Добавлено через 35 секунд D1973 В массив AnsiString можно записывать слова в элемент или только буквы? Массив такого типа может быть динамическим? Если да, то как его удлинять? Добавлено через 56 минут Опять тот же массив букв str. Начинаю вытаскивать из него буквы и прилеплять к строке str3. Если встречается пробел, то все что было в str3 по идее должно сбрасываться в массив p.
Как то можно это исправить?
0
|
0 / 0 / 0
Регистрация: 19.07.2018
Сообщений: 82
|
|
12.12.2019, 06:02 [ТС] | 20 |
D1973
Хорошо. Если TStringDynArray массив, то как отсортировать его по длине элементов? И как потом вывести его в строку, а затем в Мемо?
0
|
12.12.2019, 06:02 | |
Помогаю со студенческими работами здесь
20
кнопка которая выводит текст в Мемо1 и в Мемо2 как сделать что бы программа заменяла в мемо1 букву на число строки на котором находится эта буква в мемо2 Нужна програма в которой я буду в мемо1 вводить слова,а во втором Мемо2 она должна мне выводить пары
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |