ЯЗЫК: Pascal Const n=5; m=4; var s, i, j : integer; a: array [1.n, 1.m] of integer; begin for i:= 1…
ЯЗЫК: Pascal
Const n=5; m=4;
var s, i, j : integer;
a: array [1.n, 1.m] of
integer;
begin
for i:= 1 to n do
for j:= 1 to m do
a[i,j]:=random(10);
for i:=1 to n do begin
for j:=1 to m do
write ( A[i,j]:5 );
writeln;
end;
S:=0;
For i:=1 to n do
For j:=1 to m do
S:=S+a[i,j];
Writeln(‘сумма элементов
массива равна ‘,S);
end.
Изменить программу таким образом, чтобы:
a. Матрица состояла из 15 элементов вещественного типа;
b. Значения элементов должны меняться в интервале от 3 до 7;
c. В результате выполнения программы должно быть найдено
произведение всех элементов матрицы;
d. Вычисляться сумма элементов матрицы по строкам.
Ответ:
70
Объяснение:
Mas[1]:=14 Mas[2]:=10 Mas[3]:=-8 Mas[4]:=6 Mas[5]:=12
Mas[6]:=4 Mas[7]:=-16 Mas[8]:=-7 Mas[9]:=5 Mas[10]:=3
для i от 1 до 5 выполнить Mas[2*i] = -Mas[2*i-1], т.е. меняем значения чётных элементов на противоположные значения предыдущих нечётных элементов (просто подставляем значения в формулу)
i = 1 Mas[2*1] = -Mas[2*1-1] Mas[2] = -Mas[1] Mas[2] = -(14) = -14
i = 2 Mas[2*2] = -Mas[2*2-1] Mas[4] = -Mas[3] Mas[4] = -(-8) = 8
i = 3 Mas[2*3] = -Mas[2*3-1] Mas[6] = -Mas[5] Mas[6] = -(12) = -12
i = 4 Mas[2*4] = -Mas[2*4-1] Mas[8] = -Mas[7] Mas[8] = -(-16) = 16
i = 5 Mas[2*5] = -Mas[2*5-1] Mas[10] = -Mas[9] Mas[10] = -(5) = -5
Mas[1]:=14 Mas[2]:=-14 Mas[3]:=-8 Mas[4]:=8 Mas[5]:=12
Mas[6]:=-12 Mas[7]:=-16 Mas[8]:=16 Mas[9]:=5 Mas[10]:=-5
s = 0
для i от 1 до 10 выполнить если Mas[i]>0 то s = s + Mas[1], т.е. если элемент больше 0, то увеличиваем сумму на значение 1-го элемента
Элементов больше 0 — 5 штук (1, 4, 5,8, 9 — их номера)
s = 0 (первоначальное значение s) + 5 (количество элементов больше 0) * 14 (значение 1-го элемента) = 70