Объясните, а? Пожалуйста Дан двумерный массив размером N*M. Сформируйте линейный массив, где каждый элемент равен первому встретившемуся отрицательному элементу соответствующего столбца двумерного массива при просмотре сверху ...

Объясните, а? Пожалуйста Дан двумерный массив размером N*M. Сформируйте линейный массив, где каждый элемент равен первому встретившемуся отрицательному элементу соответствующего столбца двумерного массива при просмотре сверху вниз. Если в столбце нет отрицательного числа, то элемент равен 0.
Гость
Ответ(ы) на вопрос:
Гость
const   n1 = 20;   m1 = 20; var   a: array[1..n1, 1..m1] of integer;   b: array[1..m1] of integer;   i, j, m, n: integer; begin   Write('Введите через пробел число строк и столбцов массива: ');   Readln(n, m);   Randomize;   Writeln('Исходный массив');   for i := 1 to n do   begin     for j := 1 to m do     begin       a[i, j] := Random(101) - 50;       Write(a[i, j]:4)     end;     Writeln   end;   Writeln('Сформированный массив');   for j := 1 to m do   begin     i := 1;     while (i <= n) and (a[i, j] >= 0) do i := i + 1;     if i <= n then b[j] := a[i, j] else b[j] := -99;     Write(b[j]:4)   end;   Writeln end. Тестовое решение: Введите через пробел число строк и столбцов массива: 3 10 Исходный массив  -11 -18 -42 -22  -9   2  21  15  40  -3    4  -5  40 -13 -44 -37  43  47   1 -39   20  50  21 -18 -10   6  12 -10  43 -37 Сформированный массив  -11 -18 -42 -22  -9 -37 -99 -10 -99  -3
Не нашли ответ?
Ответить на вопрос
Похожие вопросы