#include <iostream>
#include <cmath>
#include <algorithm>
int main()
{
size_t
N, M;
std::cin >> N >> M;
int** arr = new int*[N];
for(int i = 0; i < N; i++)
arr[i] = new int [M];
for(int i = 0; i < N; i++)
for(int j = 0; j < M; j++)
std::cin >> arr[i][j];
size_t max(abs(arr[0][0]));
for(int i = 0; i < N; i++)
std::for_each(arr[i], arr[i]+M, [&max](auto& var)
{
if(abs(var) > max)
max = abs(var);
});
std::cout << "Максимальный элемент по модулю: " << max << std::endl;
for(int i = 0; i < N; i++)
delete[] arr[i];
delete[] arr;
}
s := 0; (начальное значение счётчика)
for i := 1 to 9 do (цикл по i)
if A[i - 1] < A[i] then begin (если текущий элемент больше предыдущего,
s := s + 1; то увеличиваем счётчик на 1)
t := A[i]; (меняем текущий элемент местами с предыдущим)
A[i] := A[i - 1];
A[i - 1] := t
end;
Последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
Итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 ОБМЕН
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 ОБМЕН
3) 9 7 6 2 1 5 0 3 4 8 ОК
4) 9 7 6 2 1 5 0 3 4 8 ОК
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 ОБМЕН
6) 9 7 6 2 5 1 0 3 4 8 ОК
7, 8, 9) Ноль будет "всплывать" в конец, 3 ОБМЕНА
Всего будет 6 обменов, s = 6.
ответ: 6
11100011
Объяснение:
А6 16 = 1010 0110
75 8 = 1111 01
111101 + 10100110 = 11100011