Проверить, что требование о выкупе было сделано с использованием конкретной газеты - 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.

Объяснение кода листинга программы

  1. Объявлены переменные: buyout, newspaper (строки), words (массив строк), oneWord (строка), p, i (целые числа), wordFind (булево).
  2. Переменная buyout инициализируется значением 'за вашего птенчика хотим один миллион'.
  3. Переменная newspaper инициализируется значением 'в прошлом году за нашу компанию майкрософт давала один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
  4. Значение переменной newspaper заменяется на 'в прошлом году за нашу компанию майкрософт давала' + ' один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
  5. Значение переменной newspaper заменяется на 'в прошлом году за нашу компанию майкрософт давала' + ' один с половиной миллион долларов, а мы хотим им птенчика вашего.'.
  6. Переменная words инициализируется значением текущего содержимого переменной newspaper.
  7. Для каждого слова в переменной buyout выполняется поиск в переменной words.
  8. Если слово найдено, выполняется перестановка элементов в переменной words, чтобы слово было в конце.
  9. Если слово не найдено, выводится сообщение 'Ответ отрицательный!' и выполняется выход из программы.
  10. Выводится сообщение 'Ответ положительный!'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы