Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит все минимальные значения и заменяет их на максимальные. Гарантируется, что в массиве есть хотя бы два разных элемента. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки. Например, для массива из восьми элементов:
29 4 115 7 195 25 4 106
программа должна вывести (по одному числу в строке) числа:
29 195 115 7 195 25 195 106
#include
using namespace std;
const int N = 30;
int main() {
long a[N];
long i, j, k;
for (i = 0; i cin >> a[i];
...
return 0;
}
Требуется дописать программу используя те же константы и язык c++
20 байт
Объяснение:
Рассмотрим личный код. У нас используется алфавит из 14 символов.
2^3<14<2^4, Получается, что один символ кодируется 4 битами.
Всего в личном коде 19 символов. 19*4=76 бит, переводим в байты и округляем до целого значения 76/8 это 10 байт.
Рассмотрим теперь код подразделения. Нам нужно записать 1500 в двоичном коде. 255 - 1 байт, значит на 1500 нам потребуется 6 байт.
Всего на сотрудника выделено 36 байт. Из них используются 10+6=16
Таким образом на личную информацию выделяется 36-16=20 байт
Сортировка массива по убыванию
Объяснение:
type
massiv = array [1..10] of integer;
var
mass : massiv;
i , j , n , b: integer;
begin
randomize;
write('Введите длину массива : ');readln(n);
for i:=1 to n do
begin
mass[i] := random(10);
write(mass[i], ' ');
end;
for i:=1 to n-1 do
for j:=1 to n-i do
begin
if (mass[j] < mass[j+1]) then
begin
b := mass[j];
mass[j] := mass[j+1];
mass[j+1] := b;
end;
end;
writeln;
for i:=1 to n do
write(mass[i], ' ');
readln;
end.