Практическая работа. Вариант № 3. Переведите числа 16, 56, 108, 198, 387, 257, 365, 365, 353, 511 в двоичную систему счисления. Полученное двоичное число должно состоять из девяти разрядов. Недостающие разряды замените нулями, приписывая их к получившемуся числу слева. Заштрихуйте клетки таблицы построчно (слева направо), начиная с верхней строки по следующему правилу: 0 в записи двоичного числа – пустая клетка, 1 – закрашенная
CLS
INPUT "n,m=", n, m
REDIM a(1 TO n, 1 TO m) AS INTEGER
imin = 1: jmin = 1: imax = 1: jmax = 1
RANDOMIZE TIMER
FOR i = 1 TO n
FOR j = 1 TO m
t = INT(51 * RND): a(i, j) = t
PRINT t;
IF a(imin, jmin) > t THEN
imin = i: jmin = j
END IF
IF a(imax, jmax) < t THEN
imax = i: jmax = j
END IF
NEXT j
PRINT
NEXT i
PRINT "Sum="; imin + jmin + imax + jmax
Тестовое решение
n,m=8,5
46 23 13 43 35
18 47 44 41 37
45 0 34 30 7
0 28 27 49 47
46 18 48 39 11
2 17 32 43 38
31 43 15 16 16
30 32 46 9 31
Sum= 13
// C++17
#include <iostream>
using namespace std;
void minmax(int a[], int n, int& min, int& max)
{
min = max = a[0];
for(int i = 1; i < n; i++)
if(a[i] < min)
min = a[i];
else if(a[i] > max)
max = a[i];
}
void initmas(int a[], int n)
{
for(int i=0; i < n; i++)
{
a[i] = rand() % 199 - 98; // [-99,99]
cout << a[i] << " ";
}
cout << endl;
}
int main()
{
srand(time(0));
int nx = 20, ny = 30;
int x[nx], y[ny];
cout << "Массив х\n";
initmas(x, nx);
cout << "Массив y\n";
initmas(y, ny);
int xmin, xmax, ymin, ymax;
float z1, z2;
minmax(x, nx, xmin, xmax);
minmax(y, ny, ymin, ymax);
z1 = (xmax + ymin) / 2.0;
z2 = (xmin + ymax) / 2.0;
cout << "z1 = " << z1 << ", z2 = " << z2;
return 0;
}