Я так поняла: это 2 числа в двоичной системе счисления,которых необходимо перемножить.
Const n=10;
var a:array[1..n] of integer;
max,min,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(51);
write(a[i],' ');
end;
writeln;
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
if i mod 2 = 1 then a[i]:=min else a[i]:=max;
end;
for i:=1 to n do write(a[i],' ');
writeln;
end.
Пример:
<span>31 35 3 5 26 46 9 31 30 11
31 35 3 35 3 46 3 46 3 46 </span>
<em>// PascalABC.NET 3.3, сборка 1627 от 27.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Количество строк (столбцов) в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,n,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (su,sd,sl):=(0,0,0);
for var i:=0 to n-1 do
for var j:=0 to n-1 do
if i<j then su+=a[i,j]
else
if i=j then sd+=a[i,j]
else sl+=a[i,j];
Writeln('Суммы элементов:');
Writeln(' - верхней треугольной матрицы ',su);
Writeln(' - главной диагонали ',sd);
Writeln(' - нижней треугольной матрицы ',sl)
end.
<u>Пример</u>
Количество строк (столбцов) в матрице: 4
*** Исходная матрица ***
-73 -89 4 39
77 -32 23 -45
-29 -70 -88 -40
-83 9 21 -46
----------------
Суммы элементов:
- верхней треугольной матрицы -108
- главной диагонали -239
- нижней треугольной матрицы -75
<u>"Школьный" вариант</u>
const
nn=20; { максимальный размер }
var
a:array[1..nn,1..nn] of integer;
i,j,n:integer;
su,sd,sl:longint;
begin
Write('Количество строк (столбцов) в матрице:');
Readln(n);
Randomize;
Writeln('*** Исходная матрица ***');
su:=0; sd:=0; sl:=0;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(199)-99;
Write(a[i,j]:4);
if i<j then su+=a[i,j]
else
if i=j then sd+=a[i,j]
else sl+=a[i,j]
end;
Writeln
end;
Writeln('Суммыа элементов:');
Writeln(' - верхней треугольной матрицы ',su);
Writeln(' - главной диагонали ',sd);
Writeln(' - нижней треугольной матрицы ',sl)
end.
var
n, d, min: integer;
begin
read(n);
n := abs(n); // Если введено отрицательное
min := 10;
while n > 0 do
begin
d := n mod 10;
n := n div 10;
if d < min then
min := d;
end;
write(min);
end.