Visual Basic Заполнить массив из 10 строк и 10 столбцов случайными двузначными натуральными числами.
Вывести его на экран.
Вывести номера элементов, которые являются локальными максимумами (больше всех своих соседей).
Уровень А Cчитаем соседними четыре элемента: сверху, снизу, слева, справа); крайние элементы, у которых соседей меньше, чем 4, максимумами быть не могут.
16,13(10 с/с)->(16 c/c) =10.2147АЕ147АЕ1000
целую и дробную часть переводим отдельно
ЦЕЛАЯ ЧАСТЬ = 10
16 | 16
16 | 10 <
|
0 - остаток 0 сносим в частное--
ДРОБНАЯ ЧАСТЬ
умножаем основание на основание 16 - постоянно
0.13
*16
2.08 - целую часть (запоминаем) - дробную снова умножаем на 16
0.08
*16
1.28 - целую часть (запоминаем) - дробную снова умножаем на 16
0.28
*16
4.48- целую часть (запоминаем) - дробную снова умножаем на 16
0. 48
*16
7,68- целую часть (запоминаем) - дробную снова умножаем на 16
0,68
*16
и так далее
из целых частей от умножения (2 1 4 7 )- формируется ДРОБНАЯ часть шестнадцатиричного числа
соединяем с ЦЕЛОЙ частью - получается бесконечная шестнадцатиричная дробь
10.2147АЕ147АЕ1000
(16 c/c)->(10 c/c) - обратная операция
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
10.2147АЕ =1*16^1+0*16^0+2*16^-1+1*16^-2+4*16^-3+7*16^-4+10*16^-5+14*16^-6 =16.12999999523163=16.13
const
n = 10; //количество элементов массива
var
a: array [1..n] of real;
i: integer;
begin
for i:= 1 to n do
begin
writeln('Введите ', i, ' элемент массива');
readln(a[i]); //вводим очередной элемент массива
end;
write('Исходный массив: ');
for i:= 1 to n do
write(a[i], ' '); //Выводим исходный массив
writeln; //Перевод на новую строку
write('Полученный массив: ');
for i:= 1 to n do
begin
a[i]:= a[i] * a[n]; //элемент массива умножаем на последний элемент
write(a[i], ' '); //выводим полученный элемент массива
end;
end.