Проверить, что требование о выкупе было сделано с использованием конкретной газеты - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Требование о выкупе было склеено из вырезанных из газеты отдельных слов. Как проверить, что требование о выкупе (представленное в виде строки) было сделано с использованием конкретной газеты (строки)?

Решение задачи: «Проверить, что требование о выкупе было сделано с использованием конкретной газеты»

textual
Листинг программы
  1. var
  2.   buyout, newspaper : String;
  3.   words : array of String;
  4.   oneWord : String;
  5.   p, i : Integer;
  6.   wordFind : Boolean;
  7. begin
  8.   //Write('Требование о выкупе: '); ReadLn(buyout);
  9.   buyout := 'за вашего птенчика хотим один миллион';
  10.   //Write('Газета: '); ReadLn(newspaper);
  11.   newspaper := 'в прошлом году за нашу компанию майкрософт давала' +
  12.                ' один с половиной миллион долларов, а мы хотим им птенчика вашего.';
  13.   newspaper := newspaper.Replace('.', '');
  14.   newspaper := newspaper.Replace(',', '');
  15.   words := newspaper.ToWords;
  16.  
  17.   foreach oneWord in buyout.ToWords do
  18.     begin
  19.       p := words.Length;
  20.       wordFind := False;
  21.       while (p > 0) and Not wordFind do
  22.         begin
  23.           p -= 1;
  24.           wordFind := words[p] = oneWord;
  25.         end;
  26.        
  27.       if wordFind then
  28.         begin
  29.           for i := p to words.Length-2 do
  30.             words[i] := words[i+1];
  31.           SetLength(words, words.Length-1);
  32.         end
  33.       else
  34.         begin
  35.           WriteLn('Ответ отрицательный!');
  36.           Exit;
  37.         end;
  38.     end;
  39.    
  40.   WriteLn('Ответ положительный!');
  41. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы