Реализуйте в классе binary перегрузку четырёх операций: операция сложенияоперация вычитанияоперация умноженияоперация делениякаждая операция принимает на вход двоичное число и выдаёт ответ в виде двоичного числа. операция деления производит деление нацело.напишите программу, которая принимает на вход два бинарных числа, находит их сумму, разность, произведение и отношение и выводит их на экран в виде двоичных чисел.class binary {protected: int data[32]; // цифры двоичного числаpublic: binary(); // конструктор по умолчанию binary(int value); // конструктор, получающий двоичное число из десятичного binary(char *s); // конструктор, получающий двоичное число из строки, содержащей двоичное число void show(); // вывод двоичного числа на экран int to_int(); // перевод двоичного числа в десятичное}; binary: : binary() { for (int i = 0; i < 32; ++i) data[i] = 0; }binary: : binary(int value) { for (int i = 0; i < 32; ++i) data[i] = 0; int t = 31; while (value) { data[t--] = value % 2; value /= 2; }}binary: : binary(char *s) { int size = strlen(s)-1; for (int i = 0; i < 32; ++i) data[i] = 0; for (int i = 31; size > = 0; --size) data[i--] = s[size] - '0'; }void binary: : show() { int i = 0; while (i < 32 & & ! data[i]) ++i; if (i == 32) { cout < < 0; return; } for (; i < 32; ++i) cout < < data[i]; }int binary: : to_int() { int pow = 1, res = 0; for (int i = 31; i > = 0; --i) { res += data[i] * pow; pow *= 2; } return res; }
program z1;
var a:array [1..20] of integer;
i,s,k:integer;
begin
randomize;
s:=0;
k:=0;
write('Массив: ');
for i:=1 to 20 do
begin
a[i]:=random(90)+10;
if a[i] mod 2 <> 0 then
begin
s:=s+a[i];
k:=k+1
end;
write(a[i],' ')
end;
writeln;
writeln('Среднее арифметическое нечётных элементов: ',s/k:0:1)
end.
Объяснение:
Задаём значение элемента с random
Проверяем значение элемента на нечётность, если условие истинно, то считаем сумму и количество элементов
Выводим значение элемента на экран
Выводим среднее арифметическое (результат деления суммы на количество) нечётных элементов
#include <iostream>
using namespace std;
int main()
{
int a[3][3],i,j,max,min,imax,jmax,imin,jmin;
for (i=0;i<3;i++) // Ввод массива
{
for (j=0;j<3;j++)
{
cin >> a[i][j];
}
}
cout << "Введенный массив: " << endl;
for (i=0;i<3;i++) // Вывод массива
{
for (j=0;j<3;j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
max = a[0][0];
min = a[0][0];
for (i=0;i<3;i++) // Поиск макс. и мин. элементов
{
for (j=0;j<3;j++)
{
if (a[i][j] > max)
{
max = a[i][j];
imax = i;
jmax = j;
}
if (a[i][j] < min)
{
min = a[i][j];
imin = i;
jmin = j;
}
}
}
cout << "Максимальный элемент: " << max << " Его индексы: " << imax << " " << jmax << endl;
cout << "Минимальный элемент: " << min << " Его индексы: " << imin << " " << jmin;
}
Вывод программы:3 4 5 9 5 3 1 5 5 (Это ввод массива)
Введенный массив:
3 4 5
9 5 3
1 5 5
Максимальный элемент: 9 Его индексы: 1 0 (Нумерация с 0)
Минимальный элемент: 1 Его индексы: 2 0