saneknext2
Новичок
|
Найти номер первой из строк, содержащих хотя бы один положительный элемент (оформить в виде функции).
|
Всего сообщений: 6 | Присоединился: май 2010 | Отправлено: 14 мая 2010 16:34 | IP
|
|
naik777
Новичок
|
Люди помогите решить задачку никак не могу)))не шарю че то в этом)))пожалуйста!!!буду очень благодарен Вот условие: Даны два слова.Составьте программу, определяющую можно или нет из букв А составить слово В.
|
Всего сообщений: 1 | Присоединился: май 2010 | Отправлено: 20 мая 2010 20:18 | IP
|
|
VF
Administrator
|
naik777 Хэши можно использовать? Без них проще всего с массивом вот так - создаешь массив по длине равный числу букв в алфавите. Заполняешь все элементы нулями. Потом берешь слово А и перебираешь в нем все буквы. Для каждой буквы находишь соответствующую ей ячейку в массиве (номер буквы в алфавите - номер ячейки, можно сделать через ASCII код минус константа) и увеличиваешь значение на единицу. Для второго слова также перебираешь буквы и для соответствующей ячейки массива проверяешь - если число равно нулю (соответствующих букв в первом слове не было или мы их все уже использовали), то пишем, что составить слово В нельзя и останавливаем программу. Если не равно - уменьшаем значение в ячейке на единицу (используем букву). Если успешно проверили все буквы слова В, то составить его можно о чем и сообщаем. Если задачу захотят изменить - проверить, можно ли из А составить В и наоборот (то есть слова содержат одинаковые буквы), то в конце нужно добавить проверку всех элементов массива на ноль. Если все нули, значит все буквы использованы и слова составлены из одних и тех же букв. PS: можно делать массив не для букв алфавита, а для всех кодов символов. Даже если кодировка двухбайтная, памяти заниматься будет не много. Не будет проблемы с преобразованием кода к номеру в алфавите и можно вводить слова на любом языке. И еще - не забывай про ВЕРХНИЙ/нижней индекс. Проще просто приводить все буквы к нижнему, а потом работать с ними.
|
Всего сообщений: 3110 | Присоединился: май 2002 | Отправлено: 21 мая 2010 9:24 | IP
|
|
|