
Объяснение:
#include <iostream>
using namespace std;
int main()
{
int a[5];
int k;
int i;
setlocale(LC_ALL, "Russian");
cout << "введите через пробел пять элементов массива a:";
cin>>a[1]>>a[2]>> a[3]>>a[4]>>a[5];
cout <<"Входные данные:";
cout << a[1]<<" "<< a[2]<<" "<< a[3]<<" "<<a[4]<<" "<<a[5]<<endl;
int min=a[1];
for (int i=2; i<=5; i++)
{
if (min>a[i])
{
min=a[i];
k=i;
}
}
cout<<"Минимальный элемент массива:";
cout << min<<endl;
int x=a[k];
for ( i=k; i>1; i--)
{ a[i]=a[i-1];
}
if ( i<=0)
a[1]=min;
else
a[1]=x;
cout <<"Выходные данные:";
cout << a[1]<<" "<< a[2]<<" "<< a[3]<<" "<<a[4]<<" "<<a[5]<<endl;
return 0;
}
Сложение одноразрядных двоичных чисел выполняется по следующим правилам:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально).
Сложим для примера два любых двоичных числа:
1101
+ 101
10010
Вычитание
Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:
0 - 0 = 0
1 - 0 = 1
0 - 1 = (заем из старшего разряда) 1
1 - 1 = 0
Пример:
1110
- 101
1001
Умножение
Умножение одноразрядных двоичных чисел выполняется по следующим правилам:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Пример:
1110
* 10
+ 0000
1110
11100
Деление
Деление выполняется так же как в десятичной системе счисления:
1110 | 10
|
10 | 111
11
10
10
10
0