Что нужно дописать в программе, что бы при вводе Иванов Иван Иванович в ответе было...

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

Что нужно дописать в программе, что бы при вводе Иванов Иван Иванович в ответе было Иванов И.И., пока что у меня при вводе Иванов Иван выдает Иванов И.

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.


Информатика (94 баллов) | 56 просмотров
0

Какой язык?

0

Pascal

Дан 1 ответ
0 голосов
Правильный ответ

Например так

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й, они ж одинаковые были.
При отладке пробел в строке заменял подчеркиванием, чтобы четко видеть, что режет программа.


image
(13.2k баллов)