В одной из кодировок Unicode каждый символ кодируется 2 байтами. Иван написал текст (в нем нет лишних пробелов): «Январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь – месяцы года». Ученик вычеркнул из списка название одного месяца. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 128 бит меньше, чем размер исходного предложения. Среди месяцев, имеющих одинаковое количество букв, Иван вычеркивает последний по порядку. Напишите в ответе вычеркнутое название месяца.
// Внимание! Если программа не работает, обновите версию!
1)
procedure Add(a,b:integer; var r:integer);
begin
r:=a+b
end;
begin
var (x,y):=ReadInteger2('Введите два целых числа:');
var z:integer;
Add(x,y,z);
Writeln('Их сумма равна ',z)
end.
Пример
Введите два целых числа: 18 142
Их сумма равна 160
2)
function Min3(a,b,c:integer):=Min(a,Min(b,c));
begin
var (i,j,k):=ReadInteger3('Введите три целых числа:');
Writeln('Минимальное равно ',Min3(i,j,k))
end.
Пример
Введите три целых числа: 35 -4 41
Минимальное равно -4
#include <string>
using namespace std;
int main()
{
string S;
cin >> S;
int Mass[52];
for (int i = 0; i < 52; i++)
{
Mass[i] = 0;
}
for (int i = 0; i < S.length(); i++)
{
char c = S[i];
if (c >= 'a'&&c <= 'z')
{
Mass[(int)(c-'a')*2]++;
} else if (c >= 'A'&&c <= 'Z'){
Mass[(int)(c-'A')*2+1]++;
}
}
for (int i = 0; i < 52; i++)
{
for (int j = 0; j < Mass[i]; j++)
{
cout << (i % 2 == 0?(char)(i/2+'a'):(char)(i/2+'A'));
}
}
return 0;
}
Пример работы программы: