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



Я могу помочь вам с вашим вопросом о программировании на Паскале. Я нашел несколько результатов поиска в Интернете, которые могут быть полезны для вас. Вот один из них:
> function getInitials (x: string): string; > var > i: integer; > initials: string; > begin > initials := ''; > for i := 1 to Length (x) do > if (i = 1) or (x [i-1] = ' ') then > initials := initials + x [i] + '.'; > getInitials := initials; > end;
Эта функция принимает строку, содержащую полное имя, и возвращает строку, содержащую фамилию и инициалы. Например, если ввести "Иванов Иван Иванович", то функция вернет "Иванов И.И.". Для того, чтобы использовать эту функцию в вашей программе, вам нужно дописать следующее:
> Program Name1; > var > name1, initials: string; > begin > name1 := 'Иванов Иван Иванович'; > initials := getInitials (name1); > Writeln ('Ваши инициалы: ', initials); > Readln (); > end.
Надеюсь, это поможет вам решить вашу задачу. Если у вас есть еще вопросы, я буду рад ответить на них.
: [Convert full name input to last name + initials - Stack Overflow](https://stackoverflow.com/questions/69147757/convert-full-name-input-to-last-name-initials)


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili