Всем Привет! Люди добрые помогите решением. Первую задачу отправил на проверку Спасибо!!! Сейчас вторая. В матрице 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы