Вводить только чётное количество цифр, иначе будет "Error". Табуляцию сам расставь.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int x;
int x2;
int counter = 0;
cout << "Enter x: ";
cin >> x;
x2 = x;
while(x2 % 10)
{
x2 /= 10;
counter++;
}
if(counter % 2 == 0)
{
int sum1 = 0, sum2 = 0;
for(int i = counter; i > counter / 2; i--)
{
sum1 += x % 10;
x /= 10;
}
while(x % 10)
{
sum2 += x % 10;
x /= 10;
}
if(sum2 > sum1)
{
cout << "The first part" << endl;
}
else if(sum2 < sum1)
{
cout << "The second part" << endl;
}
else
cout << "They are equal" << endl;
}
else
cout << "Error" << endl;
return 0;
}
Имеем байтики в RLE:
0x01, 0x80, 0x85, 0x37, 0x02, 0x05, 0x7F, 0x83, 0x21 - в шестнадцатеричной
%0000 0001, %1000 0000, %1000 0101, %0011 1111, %0000 0010, %0000 0101, %0111 1111, %1000 0011, %0010 0001 - в двоичной
Декодируем:
0x01 0x80 > 0x80 (берём 1 последующий байт)
0x85 0x37 > 0x37 0x37 0x37 0x37 0x37 (повторяем следующий байт 5 раз)
0x02 0x05 0x7F --> 0x05 0x7F (2 последующих байта)
0x83 0x21 --> 0x21 0x21 0x21 (повторяем 0x21 3 раза)
Декодированная последовательность байт:
0x80 0x37 0x37 0x37 0x37 0x37 0x05 0x7F 0x21 0x21 0x21
Всего 11 байт.
a=массив(x,y,z);
max:=x;
пока i<=3 делай:
нц
Если a[i]>max] то:
max:=a[i];
i=i+1;
кц