Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по...

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

Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу: фамилия____ имя____отчество, фамилия___имя___отчество, ... Записать эти сведения в файл g, используя образцы: а) имя__отчество___фамилия, имя___отчество___фамилия, ...; б) фамилия___и.о., фамилия___и.о., ... на языке паскаль


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

Function GetWord(s:string; var ptr:integer):string;
var
  i:integer;
begin
  i:=PosEx(' ',s,ptr);
  if i>0 then
    Result:=Copy(s,ptr,i-ptr)
  else
    Result:=Copy(s,ptr,length(s)-ptr+1);
  ptr:=i+1
end;

var
  f,g:Text;
  ib:integer;
  s,Fam,Im,Ot:string;
begin
  Assign(f,'Input.txt');
  Reset(f);
  Assign(g,'Result.txt');
  Rewrite(g);
  while not Eof(f) do begin
    readln(f,s);
    writeln(s); // отладочная выдача
    ib:=1;
    Fam:=GetWord(s,ib);
    Im:=GetWord(s,ib);
    Ot:=GetWord(s,ib);
    writeln(g,Im,' ',Ot,' ',Fam); // закомментарить строку для б)  
    writeln(Im,' ',Ot,' ',Fam);   // отладочная выдача
    writeln(g,Fam,' ',Im[1],'.',Ot[1],'.'); // закомментарить строку для а)
    writeln(Fam,' ',Im[1],'.',Ot[1],'.'); // отладочная выдача
  end;
  Close(f);
  Close(g)
end.

Тестовый прогон:

Иванов Петр Сергеевич
Петр Сергеевич Иванов
Иванов П.С.
Тарасова Анна Георгиевна
Анна Георгиевна Тарасова
Тарасова А.Г.
Коваленко Евгений Станиславович
Евгений Станиславович Коваленко
Коваленко Е.С.
Петрова Татьяна Вячеславовна
Татьяна Вячеславовна Петрова
Петрова Т.В.
Бородкин Тимофей Савельевич
Тимофей Савельевич Бородкин
Бородкин Т.С.
Пышка Варвара Семеновна
Варвара Семеновна Пышка
Пышка В.С.
Голобородько Ирина Олеговна
Ирина Олеговна Голобородько
Голобородько И.О.


(142k баллов)