#include <iostream> #include <iomanip> using namespace std;
int main() { int n,k,m; cout<<"N = "; cin>>n; cout<<endl; if (n%2!=0) { cout<<"недопустимое значение N: "<<n<<endl; return(1); } cout<<setw(12)<<"gooses"<<setw(10)<<"rabbits"<<endl; m=n/4; k=(n-m*4)/2; while (m>=0) { if (k>0) cout<<setw(10)<<k; else cout<<setw(10)<<"--"; if (m>0) cout<<setw(10)<<m; else cout<<setw(10)<<"--"; cout<<endl; m--; k+=2; } system("pause"); return(0); }
Иванов
22.04.2021
№1. Тысячи путей ведут к заблуждению, к истине - только один. Для начала надо посчитать, сколько всего символов в данном предложении, следует считать знаки препинания и пробелы. Посчитав все знаки (Итого:57), мы получаем, что вес предложения 57 байт, переводим в биты, то есть умножаем на 8 (1 байт = 8 бит): 57*8=456.
№2. Кодировка Unicode - это кодировка, каждый символ которой весит 16 бит. Итак, я посчитала количество знаков в предложении (Итого:32). Дальше: 16*32=512 бит.
№3. Итак, мы видим, что из 16-битной кодировки получилась 8-битная, а это значит, что она уменьшилась вдвое. 8x=800 x=100 (у тебя ошибка, я посмотрела аналогичные задания, отличающиеся только значениями)
#include <iomanip>
using namespace std;
int main() {
int n,k,m;
cout<<"N = "; cin>>n;
cout<<endl;
if (n%2!=0) {
cout<<"недопустимое значение N: "<<n<<endl;
return(1);
}
cout<<setw(12)<<"gooses"<<setw(10)<<"rabbits"<<endl;
m=n/4; k=(n-m*4)/2;
while (m>=0) {
if (k>0) cout<<setw(10)<<k;
else cout<<setw(10)<<"--";
if (m>0) cout<<setw(10)<<m;
else cout<<setw(10)<<"--";
cout<<endl;
m--; k+=2;
}
system("pause");
return(0);
}