Вопрос задан 02.10.2023 в 13:54. Предмет Информатика. Спрашивает Denver Lesha.

РЕШИТЬ В ПАСКАЛЬ Дана строка, состоящая из слов (разбитых пробелами) и строка символов.

Необходимо выяснить, можно ли из символов строки 2 получить слова из строки 1. Если можно, то вывести эти слова, иначе вывести NO. (буквы из набора можно использовать несколько раз) Входные данные Строка содержащая слова через пробел и строка с набором букв Выходные данные Слова, которые можно получить из символов второй строки или слово NO For example: Input Result hello i love you ieohuyvl hello i love you
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Томилина Валерия.

Ответ:

var s,s1,s2:string;

p,k:integer;

begin

readln(s);

s1:=s+' ';

while pos('  ',s1)>0 do delete(s1,pos(' ',s1),1);

while s1<>'' do

begin

p:=pos(' ',s1);

s2:=copy(s1,1,p-1);

delete(s1,1,p);

k:=1;

while pos(s2,s1)>0 do

begin

k:=k+1;

delete(s1,pos(s2,s1),p);

end;

if k=1 then writeln(s2);

end;

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот программа на языке Pascal, которая решает данную задачу:

pascal
program CheckWords; var inputStr1, inputStr2: string; charCount1, charCount2: array['a'..'z'] of Integer; i, j: Integer; canBuildWords: Boolean; procedure InitializeCharCount(var charCount: array['a'..'z'] of Integer); var c: Char; begin for c := 'a' to 'z' do charCount[c] := 0; end; begin canBuildWords := True; InitializeCharCount(charCount1); InitializeCharCount(charCount2); // Ввод строк readln(inputStr1); readln(inputStr2); // Заполнение массивов charCount1 и charCount2 for i := 1 to Length(inputStr1) do if inputStr1[i] <> ' ' then Inc(charCount1[LowerCase(inputStr1[i])]); for i := 1 to Length(inputStr2) do Inc(charCount2[LowerCase(inputStr2[i])]); // Проверка, можно ли построить слова из символов второй строки for i := 1 to Length(inputStr1) do begin if inputStr1[i] <> ' ' then begin if charCount2[LowerCase(inputStr1[i])] > 0 then Dec(charCount2[LowerCase(inputStr1[i])]) else begin canBuildWords := False; break; end; end; end; // Вывод результата if canBuildWords then writeln(inputStr1) else writeln('NO'); end.

Программа сначала считывает две строки: строку с словами и строку с набором символов. Затем она создает два массива charCount1 и charCount2, чтобы подсчитать количество каждой буквы в этих строках. После этого она проверяет, можно ли построить слова из символов второй строки, используя символы из первой строки, и выводит результат.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос