C++перегрузите в классе binary операции ввода-вывода и создайте метод увеличения числа на 1.операциия ввода читает из входного потока число в виде набора нулей и единиц (бинарное представление).операциия вывода отправляет в выходной поток число в виде набора нулей и единиц (бинарное представление).метод увеличения числа на 1 возвращает новое число, большее текущего на единицу.при данного класса считайте число, записанное в бинарном виде, добавьте к нему единицу и выведите на экран
если суть задачи обменивать столбцы в зависимости от значений 3 строки, то вот, что я сварганил:
#include <iostream>
using namespace std;
struct collumn{
int a[3];
};
collumn c[4];
bool comp(collumn c1, collumn c2){
return c1.a[2] > c2.a[2];
}
void print() {
for(int i = 0; i < 3; i ++) {
for (int j = 0; j < 4; j++)
cout << c[j].a[i] << " ";
cout << "\n";
}
cout << "\n";
}
void solve(){
print();
sort(c,c+4,comp);
print();
}
signed main() {
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
cin >> c[j].a[i];
solve();
}
function Avg(a:array[,] of integer):real;
begin
var s:=0; var k:=0;
foreach var e:integer in a do
if e>0 then begin s+=e; Inc(k) end;
if k>0 then Result:=s/k else Result:=1e-100;
end;
begin
var A:=MatrixRandom(4,4,-50,50); Writeln(A);
Writeln('Среднее арифметическое положительных равно ',Avg(A):0:3);
var B:=MatrixRandom(5,5,-30,30); Writeln(B);
Writeln('Среднее арифметическое положительных равно ',Avg(B):0:3);
var C:=MatrixRandom(4,5,-25,38); Writeln(C);
Writeln('Среднее арифметическое положительных равно ',Avg(C):0:3);
end.
Тестовое решение:
[[35,35,5,-47],[14,34,35,-13],[25,-5,35,-29],[-7,10,-12,12]]
Среднее арифметическое положительных равно 24.000
[[-12,-17,-10,19,14],[20,17,-27,-2,16],[-3,-21,30,2,10],[5,-3,-17,-3,18],[0,-26,29,1,-22]]
Среднее арифметическое положительных равно 15.083
[[-5,-11,17,-4,15],[15,17,-24,36,15],[-8,-3,-22,28,-25],[-21,6,12,31,-1]]
Среднее арифметическое положительных равно 19.200