 
Записать программу, выясняющую, можно ли из букв слова X составить слово Y. (Паскаль)
 0
        0
         0
        0
    Ответы на вопрос
 
        Ответ:
var
mn, st: set of char;
s, s1: string;
f: char;
i, k, p: integer;
begin
writeln('Введите слово X');
readln(s);
for i := 1 to length(s) do
mn := mn + [s[i]];
writeln('Введите слово Y');
readln(s1);
for i := 1 to length(s1) do
st := st + [s1[i]];
if (st <= mn) and (length(s1) <= length(s)) then writeln('Можно составить') else writeln('Нелья');
end.
Объяснение:
 0
                    0
                     0
                    0
                 
            Для написания программы на языке Паскаль, которая будет определять, можно ли из букв слова X составить слово Y, можно использовать алгоритм с подсчетом количества вхождений каждой буквы в оба слова. Вот пример реализации этой программы:
pascalprogram CanFormWord; // Функция для подсчета количества вхождений каждой буквы в слове function CountLetters(word: string): array of Integer; var counts: array[Char] of Integer; ch: Char; begin // Инициализируем массив счетчиков нулями for ch := 'a' to 'z' do counts[ch] := 0; // Подсчитываем количество вхождений каждой буквы for ch in word do Inc(counts[ch]); Result := counts; end; // Функция, которая проверяет, можно ли из букв слова X составить слово Y function CanFormWord(X, Y: string): Boolean; var countX, countY: array of Integer; ch: Char; begin // Если длины слов различаются, то невозможно составить слово Y из букв слова X if Length(X) <> Length(Y) then begin Result := False; Exit; end; // Получаем массивы с количеством вхождений букв в слова X и Y countX := CountLetters(X); countY := CountLetters(Y); // Сравниваем количество вхождений каждой буквы в словах X и Y for ch := 'a' to 'z' do begin if countX[ch] < countY[ch] then begin Result := False; Exit; end; end; Result := True; end; var X, Y: string; begin // Вводим слова X и Y Write('Введите слово X: '); Readln(X); Write('Введите слово Y: '); Readln(Y); // Проверяем, можно ли составить слово Y из букв слова X if CanFormWord(X, Y) then Writeln('Можно составить слово Y из букв слова X.') else Writeln('Невозможно составить слово Y из букв слова X.'); end.
Программа принимает два слова (X и Y) от пользователя и затем вызывает функцию CanFormWord, которая проверяет, можно ли из букв слова X составить слово Y. Если это возможно, программа выведет сообщение "Можно составить слово Y из букв слова X.", в противном случае выведет "Невозможно составить слово Y из букв слова X.".
 0
                    0
                     0
                    0
                Похожие вопросы
Топ вопросов за вчера в категории Другие предметы
Последние заданные вопросы в категории Другие предметы
- 
			Математика 
- 
			Литература 
- 
			Алгебра 
- 
			Русский язык 
- 
			Геометрия 
- 
			Английский язык 
- 
			Химия 
- 
			Физика 
- 
			Биология 
- 
			Другие предметы 
- 
			История 
- 
			Обществознание 
- 
			Окружающий мир 
- 
			География 
- 
			Українська мова 
- 
			Информатика 
- 
			Українська література 
- 
			Қазақ тiлi 
- 
			Экономика 
- 
			Музыка 
- 
			Право 
- 
			Беларуская мова 
- 
			Французский язык 
- 
			Немецкий язык 
- 
			МХК 
- 
			ОБЖ 
- 
			Психология 
- 
			Физкультура и спорт 
- 
			Астрономия 
- 
			Кыргыз тили 
- 
			Оʻzbek tili 
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			