Здравствуйте! Очень надеюсь ** вашу помощь! Написать программу ** языке Pasсal, меняющую...

0 голосов
49 просмотров

Здравствуйте! Очень надеюсь на вашу помощь!

Написать программу на языке Pasсal, меняющую все слова "red" на "black", "tree" на "palms" из текста, указанного в файле in.txt и сохраняющую результат в файл out.txt. Все остальные слова, пробелы, запятые, точки и т.п должны остаться без изменений.

Вот сам текст:

A red black tree is a binary search tree where each node has a color attribute the value of which is either red or black In addition to the ordinary requirements imposed on binary search trees the following requirements apply to red black trees. A node is either red or black The root is black This rule is sometimes omitted from other definitions. Since the root can always be changed from red to black but not necessarily vice versa this rule has little effect on analysis. All leaves are the same color as the root Both children of every red node are black. Every simple path from a given node to any of its descendant leaves contains the same number of black, black, black, very "black" nodes.


Информатика (19 баллов) | 49 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var myInFile, myOutFile: text;
   ind: integer;
   currentString: string;
begin
   assign(myInFile, 'in.txt');
   reset(myInFile);
   assign(myOutFile, 'out.txt');
   rewrite(myOutFile);
   while (not EOF(myInFile)) do
   begin
      currentString := readln(myInFile);
      while (pos('red', currentString) > 0) do
      begin
         ind := pos(currentString, 'red');
         delete(currentString, ind, length('red'));
         insert('black', currentString, ind);
      end;
      while (pos('tree', currentString) > 0) do
      begin
         ind := pos(currentString, 'tree');
         delete(currentString, ind, length('tree'));
         insert('palms', currentString, ind);
      end;
   end;
   close(myInFile);
   close(myOutFile);
end.

(148k баллов)