Вдвумерном массиве 7х7 произвольных целых чисел вычислить сумму элементов, расположенных слева от побочной диагонали. определить минимальный элемент главной диагонали (значение и координаты)
var a: array[1..n, 1..n] of integer; i, j, sum, min, imin: integer;
begin Randomize; for i := 1 to n do for j := 1 to n do a[i, j] := random(100) - 50; writeln('Исходный массив'); for i := 1 to n do begin for j := 1 to n do write(a[i, j]:4); writeln end; sum := 0; min := 100; //у нас в массиве числа на (-50:50) for i := 1 to n - 1 do for j := 1 to n - i do sum := sum + a[i, j]; for i := 1 to n do if min > a[i, i] then begin min := a[i, i]; imin := i end; writeln('Сумма элементов левее побочной диагонали=', sum); writeln('Минимальный элемент на главной диагонали=', min, ', его координаты (', imin, ',', imin, ')') end.
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=MatrixRandom(3,2,-99,99); Writeln('Массив А'); for var i:=0 to 2 do begin for var j:=0 to 1 do Write(a[i,j]:4); Writeln end; var b:=MatrixRandom(3,2,-99,99); Writeln('Массив B'); for var i:=0 to 2 do begin for var j:=0 to 1 do Write(b[i,j]:4); Writeln end; var c:array[0..2,0..1] of real; Writeln('Результирующий массив'); for var i:=0 to 2 do begin for var j:=0 to 1 do begin c[i,j]:=a[i,j]*b[i,j]/10; Write(c[i,j]:7:1) end; Writeln end end.
Тестовое решение Массив А -91 -93 -62 9 -97 6 Массив B -64 18 57 -34 -65 -30 Результирующий массив 582.4 -167.4 -353.4 -30.6 630.5 -18.0
begin Write('введите натуральное число: '); Readln(n);
{инициализация начальных значений минимума и максимума} min := 9; max := 0;
{разбиение числа на отдельные цифры и поиск их минимума и максимума} while n <> 0 do begin if n mod 10 < min then min := n mod 10; if n mod 10 > max then max := n mod 10; n := n div 10 end;
{Вычисление и вывод среднего геометрического минимума и максимума} writeln('Среднее геометрическое: ', sqrt(max * min)); end.
Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.
n = 7;
var
a: array[1..n, 1..n] of integer;
i, j, sum, min, imin: integer;
begin
Randomize;
for i := 1 to n do
for j := 1 to n do
a[i, j] := random(100) - 50;
writeln('Исходный массив');
for i := 1 to n do
begin
for j := 1 to n do write(a[i, j]:4);
writeln
end;
sum := 0;
min := 100; //у нас в массиве числа на (-50:50)
for i := 1 to n - 1 do
for j := 1 to n - i do
sum := sum + a[i, j];
for i := 1 to n do
if min > a[i, i] then begin
min := a[i, i];
imin := i
end;
writeln('Сумма элементов левее побочной диагонали=', sum);
writeln('Минимальный элемент на главной диагонали=', min, ', его координаты (', imin, ',', imin, ')')
end.
Контрольный пример:
Исходный массив
14 39 -7 -26 10 -33 9
48 -21 -19 6 2 24 -16
27 -41 -26 -7 16 -27 -34
42 32 -12 -37 -9 20 -26
-35 -20 -34 40 -3 5 1
23 31 -11 -9 26 -28 25
34 26 -30 11 43 19 -26
Сумма элементов левее побочной диагонали=-4
Минимальный элемент на главной диагонали=-37, его координаты (4,4)