• С клавиатуры вводится матрица n*m.
    1. Определить произведение всех чётных чисел в каждой строке и записать это произведение в последний столбец.
    2. Найти максимальный и минимальный элементы в каждой строке и поменять их местами
    3. Повернуть матрицу на 90 градусов по часовой стрелке

    Помогите пожалуйста решить в паскале

Ответы 1

  • Будем считать, что числа n, m заранее известны.Делать в Паскале динамические массивы - это очень большой геморрой.1. PROGRAM Evenvar i, j, P: integer;var array A[1..n, 1..m] of integer;BEGINfor i:=1 to n do  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массиваfor i:=1 to n do // цикл по строкамbegin  P:=1; // произведение четных чисел  for j:=1 to m do // цикл по столбцам   begin      if (A[i, j] mod 2 = 0) then P:= P*A[i, j]; // умножаем очередное четное число  end;   A[i, m] := P; // вместо последнего числа записываем произведение четныхend;  for i:=1 to n do  for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива END.2.  PROGRAM MinMaxvar i, j, Q, min, nmin, max, nmax: integer;var array A[1..n, 1..m] of integer;BEGINfor i:=1 to n do  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массиваfor i:=1 to n do // цикл по строкамbegin  min:=A[i, 1]; nmin:=1; max:=A[i, 1]; nmax:=1; // начальные значения  for j:=1 to m do // цикл по столбцам   begin      if (A[i, j] > max) then max:= A[i, j]; nmax = j;// устанавливаем максимум    if (A[i, j] < min) then min:= A[i, j]; nmin = j;// устанавливаем максимум   end;  Q:=A[i, nmin]; A[i, nmin]:=A[i, nmax]; A[i, nmax]:=Q; // меняем их местами end; for i:=1 to n do  for j:=1 to m do writeln (A[i, j]); // цикл вывода конечного массива END.3. PROGRAM Povorot var i, j, k, Q: integer;var array A[1..n, 1..m], B[1..m, 1..n] of integer;BEGINfor i:=1 to n do  for j:=1 to m do readln (A[i, j]); // цикл ввода начального массива for i=1 to m do // цикл по m строкам нового массива (их m, как столбцов в А)begin   for j:=1 to n do // цикл по n столбцам нового массива (как строк в А)     B[i, j]:=A[j, n-i+1]; // формируем новый массивend;for i:=1 to m do  for j:=1 to n do writeln (B[i, j]); // цикл вывода конечного массива END.
    • Автор:

      laneuxpz
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years