Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу: фамилия____ имя____отчество, фамилия___имя___отчество, ... Записать эти сведения в файл g, используя образцы: а) имя__отчест...
Дан символьный файл f, содержащий сведения о сотрудниках учреждения, записанные по следующему образцу: фамилия____ имя____отчество, фамилия___имя___отчество, ... Записать эти сведения в файл g, используя образцы: а) имя__отчество___фамилия, имя___отчество___фамилия, ...; б) фамилия___и.о., фамилия___и.о., ... на языке паскаль
Ответ(ы) на вопрос:
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.
Тестовый прогон:
Иванов Петр Сергеевич
Петр Сергеевич Иванов
Иванов П.С.
Тарасова Анна Георгиевна
Анна Георгиевна Тарасова
Тарасова А.Г.
Коваленко Евгений Станиславович
Евгений Станиславович Коваленко
Коваленко Е.С.
Петрова Татьяна Вячеславовна
Татьяна Вячеславовна Петрова
Петрова Т.В.
Бородкин Тимофей Савельевич
Тимофей Савельевич Бородкин
Бородкин Т.С.
Пышка Варвара Семеновна
Варвара Семеновна Пышка
Пышка В.С.
Голобородько Ирина Олеговна
Ирина Олеговна Голобородько
Голобородько И.О.
Не нашли ответ?
Похожие вопросы