Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];

Вниз

Помогите с задачкой.   Найти похожие ветки 

 
Сергей Макаров   (2002-12-12 10:56) [0]

приветствую Вас. помогите плз с задачкой. Даны два слова определить, можноно ли из букв первого составить второе.
например:
Входные данные Входные данные
мусоровоз мусоровоз
мороз мурка
Выходные данные Выходные данные
можно нельзя.

спасибо!


 
greystone   (2002-12-12 11:10) [1]

Перебираешь буквы второго слова и ищеш их в первом с помощю POS


 
France   (2002-12-12 11:11) [2]

Как вариант могу предложить перебирать по буквам второе слово и проверять их на наличие в первом. При этом в словах убирать найденные буквы.

Пример: Машина - Маша.
находим "М".
остается ашина - аша.

далее находим "а".
остается шина - ша. и так далее.

В конечном итоге от второго слова ничего не остается. Это и есть решение.


 
greystone   (2002-12-12 11:12) [3]

И учитываешь количество одинаковых букв


 
Ru   (2002-12-12 11:13) [4]

Функция подсчета вхождений подстроки в строке:

http://delphibase.endimus.ru/?action=viewfunc&topic=strchange&id=10341

при указанной постановке приведеная функция подойдет.


 
Anatoly Podgoretsky   (2002-12-12 11:16) [5]

Не полные условия, не указано насчет одинаковых букв, отсюда разные решения


 
Ru   (2002-12-12 11:18) [6]

в догонку:
можно составить все сочетания из букв первого слова, а потом указанной функцией их протестировать. Э:)


 
Uncle Archi   (2002-12-12 11:41) [7]

Всё решается довольно просто на Pascal"e:

Var
a:array[char]of Integer;
s:string;
i,j:Integer;
c:CHar;
Begin
Readln(s);
FillChar(a,SizeOf(a),0);
For i:=1 to Length(s) do
Inc(a[s[i]]);
Readln(s);
For i:=1 to Length(s) do
Dec(a[s[i]]);
For c:=#0 to #255 do
If a[c]<0 then
Begin
Writeln("Нельзя");
Halt;
End;
Writeln("можно");
End.

Всё довольно просто для понимания.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.01.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
1-1812
ТУПОЙ
2002-12-19 18:23
2003.01.02
Application Events


14-1913
Uncle Archi
2002-12-11 22:58
2003.01.02
Звуки


1-1785
nikolo
2002-12-20 11:39
2003.01.02
Как скрулить Panel?


1-1804
d_oleg
2002-12-20 13:31
2003.01.02
название языка текущей раскладки клавиатуры


14-1871
Rouse_
2002-12-13 01:03
2003.01.02
День рожденья AGA





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский