Что нужно дописать в программе, что бы при вводе иванов иван иванович в ответе было иванов и.и., пока что у меня при вводе иванов иван выдает иванов и. program name1; var name1, probel, dot: string; number: integer; begin name1 : = 'иванов иван'; probel : = ' '; dot : = '.'; number : = pos(probel, name1); writeln(number); writeln(name1); delete(name1, number+2, 60); writeln('ваши инициалы: ', name1, dot); readln(); end.
Program Name_1;
var
name1, name2, name3, probel, dot: string;
number: integer;
begin
name1 := 'Ivanov_Ivan_Xvanovic';
probel := '_';
dot := '.';
number := Pos(probel, name1);
Writeln(number);
Writeln(name1);
{Delete(name1, number+2, 60);}
name2:=name1;
name3:=name1;
{Вырезаем имя}
Delete(name1, number, 60);
Delete(name2, 1, number); {сформировали 1й инициал}
Delete(name2, 2, 60);
Delete(name3, 1, number); {формируем 2й инициал}
number := Pos(probel, name3);
Delete(name3, 1, number);
Delete(name3, 2, 60);
Writeln('Ваши инициалы: ',name1,' ', name2, dot, ' ', name3, dot);
Readln();
end.
Поясню, у меня с кирилицей иногда чудит, поэтому перешел на латиницу, ну и поменял
букву в отчестве, Чтоб быть уверенным, что вырезан именно 2й инициал, а не повторно 1й, они ж одинаковые были.
При отладке пробел в строке заменял подчеркиванием, чтобы четко видеть, что режет программа.