Задать вопрос
16 августа, 07:44

Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с клавиатуры. Составить программу, которая вычисляет сумму всех элементов массива.

Затем организовать новый массив В, в котором заменить отрицательные элементы исходного массива на 1, а значения остальных элементов оставить без изменения. Подсчитать количество замен.

+3
Ответы (1)
  1. 16 августа, 09:24
    0
    Program primer;

    procedure random (c, x, y:integer; var r:integer);

    begin

    case c of

    1 : r:=Random (ABS (Y) + ABS (x) + 1) + x;

    2 : r:=Random (ABS (Y) + ABS (x) + 1) + y;

    3 : r:=Random (Y-x+1) + x;

    4 : r:=Random (x-y+1) + y;

    5 : r:=Random (x+y);

    6 : r:=Random (ABS (x+y)) - ABS (x+y);

    7 : r:=x;

    8 : r:=Random (ABS (ABS (x) - ABS (y))) - ABS (x);

    9 : r:=Random (ABS (ABS (x) - ABS (y))) - ABS (y);

    end;

    end;

    var

    a, b: array of array of integer;

    i, j, x, y, c, m, p, sum:integer; begin

    Randomize;

    sum:=0;

    writeln ('Кол-во строк и столбцов массива? / / X, Y / / ');

    read (i, j); / / Размерность массива

    writeln ('Диапазон чисел / / от X, до Y / / ');

    read (x, y); / / и диапазон генерации вводятся с клавиатуры.

    if (x=y) then

    c:=7

    else

    if (x<0) and (y<0) then

    if (x
    c:=8

    else

    c:=9

    else

    if (x=0) or (y=0) then

    if (x<0) or (y<0) then

    c:=6

    else

    c:=5

    else

    if (x<0) or (y<0) then

    if (x
    c:=1

    else

    c:=2

    else

    if (x
    c:=3

    else

    c:=4;

    SetLength (a, i);

    for m:=0 to i-1 do

    SetLength (a[m], j);

    SetLength (b, i);

    for m:=0 to i-1 do

    SetLength (b[m], j);

    for m:=0 to i-1 do begin

    writeln ();

    for p:=0 to j-1 do begin

    random (c, x, y, a[m, p]); {Заполнить двумерный массив случайными числами.}

    sum:=sum+a[m, p]; {вычисляет сумму всех элементов массива}

    write (a[m, p]:3,' ':3);

    end;

    end;

    c:=0;

    writeln ('summa=', sum);

    for m:=0 to i-1 do begin {Затем организовать новый массив В }

    writeln ();

    for p:=0 to j-1 do begin

    if (a[m, p] <0) then begin

    b[m, p]:=1; {в котором заменить отрицательные элементы исходного массива на 1} inc (c); {Подсчитать количество замен. }

    end

    else

    b[m, p]:=a[m, p]; {а значения остальных элементов оставить без изменения }

    write (b[m, p]:3, ' ':3);

    end;

    end;

    writeln ('kol=', c);

    a:=NIL;

    b:=NIL;

    end.

    / / ABC Pascal
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с клавиатуры. Составить программу, которая ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы