Всем Привет! Люди добрые помогите решением. Первую задачу отправил на проверку Спасибо!!! Сейчас вторая. В матрице A(m x m) найти сумму элементов четных столбцов. Если эта сумма положительна, то все элементы нечетных строк возв...
Всем Привет! Люди добрые помогите решением. Первую задачу отправил на проверку Спасибо!!! Сейчас вторая. В матрице A(m x m) найти сумму элементов четных столбцов. Если эта сумма положительна, то все элементы нечетных строк возвести в квадрат. В противном случае ко всем элементам побочной диагонали прибавить число 2.
Ответ(ы) на вопрос:
program Task; const M = 3; var a: array[1..M, 1..M] of integer; i, j: integer; sum: integer; result: real; begin { Заполняем переменные } sum := 0; result := 0.0; writeln('----------------------------------'); { Заполняем массив случайным набором элементов } for i:=1 to M do begin for j:=1 to M do begin a[i,j] := random (40)-20; write(a[i,j]:4); end; writeln(); end; { Считаем количество элементов } for i:=1 to M do for j:=1 to M do sum := sum + a[i,j]; writeln('Sum: ',sum); { Если количество элементов > 0 - выполняем возведение в квадрат } if (sum > 0) then for i:=1 to ((M div 2) + (m mod 2)) do for j:=1 to M do a[i*2-1,j] := a[i*2-1,j]*a[i*2-1,j] { Иначе - увеличиваем элементы побочной диагонали на 2 } else for i:=1 to M do a[M-i+1,i] := a[M-i+1,i] + 2; for i:=1 to M do begin for j:=1 to M do write(a[i,j]:4); writeln(); end; writeln('----------------------------------'); end. {* Пример результатов: ---------------------------------- 9 5 12 -9 -2 -15 -4 19 -4 Sum: 11 81 25 144 -9 -2 -15 16 361 16 ---------------------------------- ---------------------------------- 7 2 13 -16 -3 17 -10 -16 3 Sum: -3 7 2 15 -16 -1 17 -8 -16 3 ---------------------------------- *} Тоже самое, но менее развёрнуто: program Task; const M = 3; var a: array[1..M, 1..M] of integer; i, j: integer; sum: integer; result: real; begin sum := 0; result := 0.0; for i:=1 to M do for j:=1 to M do a[i,j] := random (40)-20; for i:=1 to M do for j:=1 to M do sum := sum + a[i,j]; if (sum > 0) then for i:=1 to ((M div 2) + (m mod 2)) do for j:=1 to M do a[i*2-1,j] := a[i*2-1,j]*a[i*2-1,j] else for i:=1 to M do a[M-i+1,i] := a[M-i+1,i] + 2; end.
Не нашли ответ?
Похожие вопросы