program ryazantsev;
var str, newstr: string;
pos,i,k:integer;
begin
newstr:='';
Writeln ('Введите строку с фамилиями');
Readln(str);
for i:=1 to Length(str) do begin
if str[i]=' ' then continue;
if (i=1) or (str[i-1]=' ') then pos:=i
else if (i=Length(str)) or (str[i+1]=' ') then begin
if LowerCase(str[i])=LowerCase(str[pos]) then k:=k+1;
if (i-pos+1) mod 2 <> 0 then newstr:=newstr+Copy(str, pos, i-pos+1)+' '
end
end;
writeln('Количество фамилий начинающихся и заканчивающихся на одну букву: ', k);
writeln('Новая строка: ', newstr)
end.
using namespace std;
struct P
{
P() = default;
P(int x, int y)
{
this->x = x;
this->y = y;
};
int x;
int y;
};
int main()
{
int size;
cin >> size;
P *arr = new P[size];
for (int i = 0; i < size; i++) {
cin >> arr[i].x;
cin >> arr[i].y;
};
P temp; // временная переменная для обмена элементов местами
// Сортировка массива пузырьком
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (arr[j].x > arr[j + 1].x) {
// меняем элементы местами
temp.x = arr[j].x;
arr[j].x = arr[j + 1].x;
arr[j + 1].x = temp.x;
}
}
}
// Вывод отсортированного массива на экран
for (int i = 0; i < size; i++) {
cout << arr[i].x << " ";
}
delete[] arr;
}
program ryazantsev;
var str, newstr: string;
pos,i,k:integer;
begin
newstr:='';
Writeln ('Введите строку с фамилиями');
Readln(str);
for i:=1 to Length(str) do begin
if str[i]=' ' then continue;
if (i=1) or (str[i-1]=' ') then pos:=i
else if (i=Length(str)) or (str[i+1]=' ') then begin
if LowerCase(str[i])=LowerCase(str[pos]) then k:=k+1;
if (i-pos+1) mod 2 <> 0 then newstr:=newstr+Copy(str, pos, i-pos+1)+' '
end
end;
writeln('Количество фамилий начинающихся и заканчивающихся на одну букву: ', k);
writeln('Новая строка: ', newstr)
end.