Задать вопрос
18 октября, 22:08

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

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

+3
Ответы (1)
  1. 19 октября, 01:20
    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
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Заполнить двумерный массив случайными числами. Размерность массива и диапазон генерации вводятся с клавиатуры. Составить программу, которая ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы