Проверить, что требование о выкупе было сделано с использованием конкретной газеты - PascalABC.NET
Формулировка задачи:
Требование о выкупе было склеено из вырезанных из газеты отдельных слов. Как проверить, что требование о выкупе (представленное в виде строки) было сделано с использованием конкретной газеты (строки)?
Решение задачи: «Проверить, что требование о выкупе было сделано с использованием конкретной газеты»
textual
Листинг программы
- var
- buyout, newspaper : String;
- words : array of String;
- oneWord : String;
- p, i : Integer;
- wordFind : Boolean;
- begin
- //Write('Требование о выкупе: '); ReadLn(buyout);
- buyout := 'за вашего птенчика хотим один миллион';
- //Write('Газета: '); ReadLn(newspaper);
- newspaper := 'в прошлом году за нашу компанию майкрософт давала' +
- ' один с половиной миллион долларов, а мы хотим им птенчика вашего.';
- newspaper := newspaper.Replace('.', '');
- newspaper := newspaper.Replace(',', '');
- words := newspaper.ToWords;
- foreach oneWord in buyout.ToWords do
- begin
- p := words.Length;
- wordFind := False;
- while (p > 0) and Not wordFind do
- begin
- p -= 1;
- wordFind := words[p] = oneWord;
- end;
- if wordFind then
- begin
- for i := p to words.Length-2 do
- words[i] := words[i+1];
- SetLength(words, words.Length-1);
- end
- else
- begin
- WriteLn('Ответ отрицательный!');
- Exit;
- end;
- end;
- WriteLn('Ответ положительный!');
- end.
Объяснение кода листинга программы
- Объявлены переменные: buyout, newspaper (строки), words (массив строк), oneWord (строка), p, i (целые числа), wordFind (булево).
- Переменная buyout инициализируется значением 'за вашего птенчика хотим один миллион'.
- Переменная newspaper инициализируется значением 'в прошлом году за нашу компанию майкрософт давала один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
- Значение переменной newspaper заменяется на 'в прошлом году за нашу компанию майкрософт давала' + ' один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
- Значение переменной newspaper заменяется на 'в прошлом году за нашу компанию майкрософт давала' + ' один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
- Переменная words инициализируется значением текущего содержимого переменной newspaper.
- Для каждого слова в переменной buyout выполняется поиск в переменной words.
- Если слово найдено, выполняется перестановка элементов в переменной words, чтобы слово было в конце.
- Если слово не найдено, выводится сообщение 'Ответ отрицательный!' и выполняется выход из программы.
- Выводится сообщение 'Ответ положительный!'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д