|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
||||||
Как из результатов метода создать массив строк?30.09.2021, 23:26. Показов 8428. Ответов 99
Метки нет (Все метки)
Аналогичная проблема встретилась уже второй раз. У меня в коде есть метод, который обрабатывает строки из массива строк и создаёт из них другие строки по определённым параметрам. Я не знаю, как из результатов метода(это несколько символов) создать строку, а из строки новый массив строк. Чтобы впоследствии совершать с новыми строками другие действия. Конкретно сейчас задача: ввести массив строк. Вывести строку, в которой больше всего заглавных букв. Я создала массив (вернее, список) строк с помощью ввода с консоли. Потом написала два метода. Первый обрабатывает строки массива по очереди.Создаёт строку того же размера, что и исходная, из заглавных букв. Сравнивает с исходной и выводит совпадения, т.е. заглавные буквы.Это и есть результат этого метода.Как я понимаю, это просто несколько символов. Даже не строка. Второй метод сравнивает длину новых строк с максимумом и выводит строку с максимальной длиной, т.е. строку с наибольшим количеством заглавных букв. Вроде бы всё логично, но я не знаю, как из результатов первого метода создать массив строк, чтобы перейти ко 2 методу. Я пыталась из символов в 1 методе создать массив, чтобы потом из него создать строку. Но вместо массива выводятся квадраты по количеству символов. Пожалуйста, помогите кто-нибудь. Я решаю это уже неделю.
0
|
||||||
| 30.09.2021, 23:26 | |
|
Ответы с готовыми решениями:
99
Как проверка результатов метода Ньютона программы с настройкой «Поиск решения» Как создать Массив строк?
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 05.10.2021, 12:33 [ТС] | |
|
xoraxax, согласна, это преинкремент, а я использую постинкремент. Сейчас я решаю совсем другую задачу, поэтому ошиблась. Так зачем он здесь?
Интеллектуальная игра - сделать рабочий код как можно короче
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 05.10.2021, 13:35 | |
|
Отличная интеллектуальная игра - разобраться, почему же тут преинкремент
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 05.10.2021, 13:52 [ТС] | |
|
xoraxax, пыталась. Теоретически я понимаю, что преинкремент сначала увеличивает переменную на 1, а потом выполняет операцию, а постинкремент сначала выполняет операцию, а потом увеличивает переменную на 1. Но зачем это нужно в данном случае я не понимаю. Чтобы вывести строки не в том порядке, что в исходном массиве?
0
|
|
|
Супер-модератор
|
|||||||||||||||||||||||
| 05.10.2021, 14:25 | |||||||||||||||||||||||
"оно" так не работает. Когда найдена строка с длиной, большей предыдущего максимума, эта новая длина заносится в нулевую ячейку массива num. Если одна из следующих строк имеет ту же длину, что и текущий максимум, а записано
0
|
|||||||||||||||||||||||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 05.10.2021, 15:01 [ТС] | |
|
Catstail, я знаю, что мне есть куда расти
![]() Думаю, что я тоже могу убрать метод, который создаёт строки из заглавных букв исходных строк, и внести его в основной метод. Но жалко убивать на это время. Я давно решаю совсем другие задачи. Но за идею спасибо. Я не думала, что можно решить такую задачу без методов. Позже посмотрю. По поводу декремента проверьте, ничего не теряется. При: num[ptrN]=i; ptrN++; и num[ptrN++]=i; Выводит: dRfgtYUI TYbOI GHYU При: ptrN++; num[ptrN]=i; и num[++ptrN]=i; Выводит: GHYU dRfgtYUI TYbOI Т.е. просто меняется порядок выведенных слов. Этот вопрос меня интересует, потому что я всегда, создавая массив из элементов другого массива, использую вариант num[ptrN]=i; ptrN++; Возможно, что это можно делать не во всех случаях?
1
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 05.10.2021, 15:04 | |
|
т.е. просто разберись, как работает код, там 6 строчек надо понять
Добавлено через 22 секунды 2 из которых скобки
1
|
|
|
Супер-модератор
|
||
| 05.10.2021, 15:17 | ||
|
Sollita, увы, не только теряется, но иногда и лишнее захватывает:
На этих данных: AAAsgdggdfh BsBBBB AAAsgdggdfh ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯWWWWW BsBBBBHHHHHHHHHHHHHHHHWWWWW AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB BsBBBBHHHHHHHHHHHHHHHHWWWWW AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB AAAsgdggdfh BsBBBB Результат с num[++ptrN]=i получается: Строки с максимальным к-вом заглавных букв: ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯWWWWW BsBBBBHHHHHHHHHHHHHHHHWWWWW BsBBBBHHHHHHHHHHHHHHHHWWWWW А с num[ptrN++]=i BsBBBBHHHHHHHHHHHHHHHHWWWWW BsBBBBHHHHHHHHHHHHHHHHWWWWW AAAsgdggdfh Что неверно ("залетела" лишняя строка, а одна из правильных "проглотилась" Добавлено через 1 минуту
1
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 05.10.2021, 15:32 [ТС] | |
|
Catstail, спасибо, разберусь.
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
||
| 06.10.2021, 06:09 | ||
|
Иначе будет получаться как то самое решение в 3 строчки, которое на самом деле не рабочее на граничных условиях.
0
|
||
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 06.10.2021, 10:20 [ТС] | |
|
Tavashi, я знаю, спасибо
План таков:Базовые конструкции и ООП Обобщённое программирование Коллекции Исключения Потоки ввода-вывода Многопоточное программирование Введение в свинг
0
|
|
|
3584 / 2184 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 06.10.2021, 10:54 | |
|
Tavashi, из праздного интереса: а какие граничные условия, на которых решение в "3 строчки" "ломается"?
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 06.10.2021, 16:15 [ТС] | |
|
Arsegg, вот-вот, и из не праздного тоже
Я так и не поняла, почему "ломается"? Как вообще может быть выведена в данном случае строка с тремя заглавными буквами? Это же противоречит условию: 3 не больше 25, и не равно ему. Но теперь хоть знаю, что этого можно ожидать.
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|
| 08.10.2021, 04:50 | |
|
0
|
|
| 08.10.2021, 10:47 | |
|
Не по теме: Tavashi, как некрасиво с темы съезжать!
0
|
|
| 08.10.2021, 12:09 | |
|
Не по теме: Arsegg, не нужно выдавать желаемое за действительное.
0
|
|
| 08.10.2021, 12:23 | |
|
Не по теме: Tavashi, если сказал А, то уж говори Б - все-таки не в зоопарке, где каждый "кукарекать" горазд.
0
|
|
| 08.10.2021, 12:31 | |
|
Не по теме: Arsegg, граничный случай - я уже написал. Это уже более чем подсказка. Тот, кто изучил стримы за пару вечеров по докам не только поймет где ошибка, но и сможет ее исправить.
0
|
|
|
7 / 17 / 0
Регистрация: 30.09.2021
Сообщений: 232
|
|
| 08.10.2021, 13:36 [ТС] | |
|
Tavashi, спасибо за разъяснения, но я думала,что Вы пишете о решении в 3 строчки в коде Catstail, о котором мы с ним писали. Код в три строчки, о котором Вы писали, я даже не пыталась разобрать, потому что стримы не изучала и не думаю, что их можно изучить за два дня
Поэтому посмотрю Ваш комментарий позже, когда буду понимать, о чём он.Может быть, Вы можете объяснить, почему ломается решение с num[ptrN++]=i или num[ptrN]=i;ptrN++; ? Я думала, что если выведу массив num, то что-нибудь пойму, но запуталась ещё больше. Вместо индексов строк с максимальным количеством заглавных букв массив num в этих случаях с какого-то момента начинает выводить нули. Почему?
0
|
|
| 08.10.2021, 14:08 | |
|
Не по теме: Tavashi, к чему витиеватые изъяснения? Если есть что сказать, то говори прямо.
0
|
|
|
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
|
|||||||||
| 12.10.2021, 17:45 | |||||||||
ptrN это счетчик, который должен сбрасываться в нулевое состояние в случае нахождения максимальной строки на определенном уровне итерации. Далее, следующие строки равные по длине с максимальным значением должны записываться в следующие ячейки массива. Для этого нужно сначала увеличить значение счетчика (указателя), а потом провести запись. Но не наоборот, потому что в этом случае потеряется одно из максимальных значений строки и возьмется одно лишнее, потому что вывод результатов устроен через такой цикл:
1
|
|||||||||
| 12.10.2021, 17:45 | |
|
Как создать двумерный массив строк
Как создать массив строк, считанных из файла? Как создать массив строк типа String^? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|