Вопрос задан 08.05.2019 в 13:13. Предмет Информатика. Спрашивает Скорпио Даниил.

Написать программу на ABC Pascal: Дан текстовый файл f. Найти слова, заканчивающие на of

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Ильясов Арман.
Const
  n=50;
var
  f:Text;
  s:string;
  ss:array of string;
  a:array[1..n] of string;
  i,j:integer;
begin
  Assign(f,'input.txt'); Reset(f);
  j:=0;
  while not Eof(f) do begin
    Readln(f,s);
    ss:=s.Split(' ');
    for i:=0 to Length(ss)-1 do
      if Length(ss[i])>1 then
        if RightStr(ss[i],2)='of' then
        begin Inc(j); a[j]:=ss[i] end;
  end;
  Close(f);
  for i:=1 to j do Write(a[i],' ');
  Writeln
end.

Тестовое решение:
123of asdfdsof dasof

Есть решение и покороче, но совсем не уровня начинающих:
uses
  System.Text.RegularExpressions;
const
  n=50;
var
  f:Text;
  s:string;
  a:array[1..n] of string;
  i,j:integer;
begin
  Assign(f,'input.txt'); Reset(f);
  j:=0;
  while not Eof(f) do begin
    Readln(f,s);
    foreach var m:Match in Regex.Matches(s,'\b\S+of\b') do
    begin Inc(j); a[j]:=m.Value end;
  end;
  Close(f);
  for i:=1 to j do Write(a[i],' ');
  Writeln
end.

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

К сожалению, ABC Pascal - это устаревший язык программирования, и я не могу предоставить точный код на нем. Однако я могу предложить вам программу на современном языке Pascal (стандарт ISO 7185:1990), который является улучшенной версией ABC Pascal. Ниже приведен пример программы на Pascal, которая решает вашу задачу:

```pascal program FindWordsEndingOf;

const MaxWordLength = 50; // Максимальная длина слова

var inputFile: Text; word: string;

procedure FindWordsEndingOf(fileName: string); begin Assign(inputFile, fileName); Reset(inputFile);

while not Eof(inputFile) do begin Read(inputFile, word); // Проверяем, заканчивается ли слово на 'of' if (Length(word) >= 2) and (Copy(word, Length(word) - 1, 2) = 'of') then Writeln('Слово, заканчивающееся на ''of'': ', word); end;

Close(inputFile); end;

begin // Укажите путь к вашему текстовому файлу FindWordsEndingOf('путь_к_вашему_файлу.txt'); end. ```

Замените `'путь_к_вашему_файлу.txt'` на фактический путь к вашему текстовому файлу. Программа открывает файл, читает слова из него и выводит те, которые заканчиваются на "of". Обратите внимание, что программа чувствительна к регистру, так что "of", "Of", "oF" и т. д. будут считаться разными словами.

Также учтите, что этот пример предполагает, что слова в файле разделены пробелами. Если в вашем файле используется другой разделитель, например, знаки препинания, вам может потребоваться настроить программу соответствующим образом.

0 0

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

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

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