![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
![]()
Java стали недавно изучать, строки дали на самостоятельное изучение, не могу в них разобраться.
![]() Дана строка не более чем из 6 произвольных различных символов. Разработать программу вывода всех возможных подстрок, составленных из символов данной строки. |
![]() |
![]() |
![]() |
#2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Java не стоит, поэтому пример показать не могу (только если вы си не знаете).
Вот алгоритм: решаем через рекурсию. Пускай будет не 6 символов, а N. (удобнее и универсальнее). У нас будут 2 строки (одна исходная - str, вторая под буфер - buf). Читаем исходную строку в str. Вызываем функцию fun(str, buf, 0). Функция fun: Принимает исходную строку, текущую строку (ту, что уже успели сформировать) и номер текущего символа. Объявляем пару счетчиков (i,j), временную строку tmp и булеву переменную b (можно и целого типа, но так удобнее). Если k == N (то есть номер текущего символа равен количеству символов), значит мы уже сформировали строку и ее нужно вывести (и выйти из функции). Если нет: Идем в цикле от 0 до N: Код:
Нужно проверить, не использовали ли мы его раньше. Код:
Затем вставляем новый символ: Код:
Код:
то есть str.charAt(5) - доступ к 6-му символу.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите решить задачку (строки) | Людик | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 22.12.2008 17:45 |
помогите, пожалуйста, решить задачку | vol1 | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 08.01.2008 21:09 |
Помогите решить задачку на строки в Паскале. | TakeR | Помощь студентам | 8 | 26.12.2007 00:09 |
Пожалуйста, помогите решить задачку. | Cizen | Помощь студентам | 9 | 03.07.2007 08:27 |