Учебник. К.Ю Поляков, Е.А. Ерёмин. Информатика. 10 класс. Углублённый уровень. §66 Символьные строки
Задача L. ФИО-2
Напишите программу, которая преобразует строку, содержащую фамилию, имя и отчество человека, к форме
<инициалы> <фамилия>
PASCAL
program p66L;
var ss,se:string;
k,m:longint;
begin
//читаем строку
readln(ss);
//находим позицию первого пробела
k:=pos(' ',ss);
//берём остаток строки после первого пробела
se:=ss.Substring(k);
//находим позицию второго пробела
m:=pos(' ',se);
//формируем инициалы и фамилию
se:=se[1]+'.'+se[m+1]+'. '+copy(ss,1,k-1);
writeln(se);
end.
C++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string ss,se;
int k,m;
//читаем строку
getline(cin,ss);
//находим позицию первого пробела
k=ss.find(' ');
//берём остаток строки после первого пробела
se=ss.substr(k+1,ss.size()-k);
//находим позицию второго пробела
m=se.find(' ');
//формируем инициалы и фамилию
se=se[0];
se+=".";
se+=ss[k+m+2];
se=se+". "+ss.substr(0,k);
cout << se;
return 0;
}