|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.04.2009, 17:33 | #1 |
Пользователь
Регистрация: 31.05.2008
Сообщений: 25
|
Не знаю как решить задачку на строки в java, помогите пожалуйста.
Java стали недавно изучать, строки дали на самостоятельное изучение, не могу в них разобраться. Подскажите хотя бы идею решения. Как строку на символы разделить? Как символы скомбинировать?
Дана строка не более чем из 6 произвольных различных символов. Разработать программу вывода всех возможных подстрок, составленных из символов данной строки. |
01.04.2009, 18:07 | #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 |