Другие языки программирования и технологии
строки в паскале
пожалуйста помогите, не знаю с чего начать... Даны две строки А и В. Проверить, можно ли из букв строки А составить строку В, используя каждую букву только один раз. пожалуйста. само решение не обязательно!!! главное с чего начать и основные моменты! зарание огромное спасибо!!
Составить таблицу [буква, количество] в строке для каждой из строк, ранжировать по "буква" (не обязательно) , для всех букв из второй таблицы искать букву в первой и следить, что бы число, соответсвующее этой букве во второй таблице было не больше чем в первой. Если условие выполнено, то - можно. Если где - то сбой, то - нельзя.
Опиши массив cnt[char] of integer, посчитай с его помощью, сколько раз встречается каждая буква в А, потом пройдись по В, вычитая из массива, потом пройдись по массиву - если найдется хоть один отрицательный элемент, значит нельзя.
Ну, например: берешь очередную букву строки В, проверяешь, есть ли она в А, если есть, выкидываешь ее из А и идешь дальше. Дошел до конца В благополучно - можн составить, не нашлось буквы - стоп, нельзя. Для поиска эффективно использовать функцию pos.
если уже даны строки готовые, то сделай подсчет кол-ва букв програмно и сравни:
если кол-во любого символа 2-ой строки >= кол-ву символов 1-ой строки то true
если хотя б один не соответствует условию, то false
если кол-во любого символа 2-ой строки >= кол-ву символов 1-ой строки то true
если хотя б один не соответствует условию, то false
создай бинарный массив длиной как А, потом пройдись по строке В заменяя 1 на 0 в этом массиве соответствующей позиции. (соответственно 0 на 0 не заменять)...
начинать надо с строчки "PROGRAM")))
лан в цикле берешь каждый элемент с строчки А ( А ) и ищешь его в строчке В если нашел стираешь его с строчки б если нет в ходишь с цикла с ответом "НЕТ" и так до конца строчки А потом (если цикл досрочно не закончился) смотришь на строчку В если она Пустая значит ответ "ДА" если нет тогда "НЕТ"
лан в цикле берешь каждый элемент с строчки А ( А ) и ищешь его в строчке В если нашел стираешь его с строчки б если нет в ходишь с цикла с ответом "НЕТ" и так до конца строчки А потом (если цикл досрочно не закончился) смотришь на строчку В если она Пустая значит ответ "ДА" если нет тогда "НЕТ"
Похожие вопросы
- по строкам в Паскале
- строки в Паскале
- Помогите написать программу, используя строки, на Паскале, пожалуйста. Я буду очень благодарна
- Как заменить слово в строке?Паскаль
- Как разделить слова в строке, чтобы их потом сравнивать друг с другом и сортировать? (Паскаль)
- паскаль... строки...функция delete. не подскажете, почему в этой программе она не выполняется,что опять не так тут?(((
- Паскаль строки
- Помогите решить задачу в паскале. Задание: Заменить в строке все вхождения "да" на "нет".
- Как найти слово в строке. Паскаль
- паскаль(строки)