Для задачи по своему варианту в том же файле, ниже первого задания
скриншот блок-схемы, или нарисуйте её используя возможности программы
Дана величина A, выражающая объем информации в байтах. Перевести А в более
крупные единицы измерения информации (КБ, МБ, ГБ). Составьте блок-схему алгоритма решения
поставленной задачи
1. Переводим число в двоичную систему
168.625₁₀ = 10101000.101₂
2. Сдвигаем точку влево так, чтобы она отделяла в целой части только одну цифру и фиксируем величину сдвига, как двоичный порядок
10101000.101₂ = 1.0101000101₂×2⁷
3. Отбрасываем целую часть, получая мантиссу 0101000101₂
4. Прибавляем к порядку 127
7+127 = 134₁₀ = 10000110₂
5. Приписываем к порядку его знак - 0 (сдвиг был влево), получая
010000110₂
6. Приписываем справа мантиссу и дополняем её нулями справа до 32 разрядов
01000011001010001010000000000000₂ = 01000011 00101000 10100000 00000000₂
7. Переводим результат в шестнадцатиричную систему счисления, заменяя каждые 4 двоичных цифры соответствующей шестнадцатиричной
01000011 00101000 10100000 00000000₂ = 43 28 A0 00₁₆
using namespace std;
int main() {
int n=12, imax=0, imin=0;
int a[n];
srand(time(NULL));
cout<<"array:"<<endl;
for (int i=0; i<n; i++)
{
a[i]=rand() % 50;
cout<<a[i]<<" ";
}
cout<<endl;
for (int i=1; i<n; i++) {
if (a[i] > a[imax]) imax = i;
if (a[i] < a[imin]) imin = i;
}
for (int i=0; i<n; i++) {
if (i == imax || i == imin) cout << " ! " << a[i] << " ! ";
else cout << a[i] << " ";
}
cout<<endl;
return 0;
}
Пример:
array:
31 0 13 29 13 34 33 42 40 26 48 24
31 ! 0 ! 13 29 13 34 33 42 40 26 ! 48 ! 24