Вопрос задан 01.03.2021 в 00:54. Предмет Информатика. Спрашивает Ромина Софья.

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

клавиатуры. Вычислить произведение элементов массива, лежащих вне главной диагонали.
0 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: array of array of integer;
  i,j,x,y,m,p,pro,c:integer;  begin
Randomize;
pro:=1;
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<y) then 
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<y) then 
c:=1
else 
c:=2
else
if (x<y) then 
c:=3
else 
c:=4;
SetLength(a,i);
for  m:=0 to i-1 do
  SetLength(a[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]);    {Заполнить матрицу случайными числами }         
 if (m<>p) then pro:=pro*a[m,p]; { Вычислить произведение элементов массива, лежащих вне главной диагонали.}
          write (a[m,p]:3,' ':3);
           end; 
         end;  

 writeln('pro=',pro);        
  a:=NIL;            
end.
// ABC Pascal
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример кода на языке Паскаль, который выполняет задачу, описанную в вашем вопросе:

pascal
program MatrixProduct; uses SysUtils; var matrix: array of array of Integer; size, minValue, maxValue, i, j, product: Integer; begin Write('Введите размерность матрицы: '); ReadLn(size); Write('Введите минимальное значение: '); ReadLn(minValue); Write('Введите максимальное значение: '); ReadLn(maxValue); // Инициализация генератора случайных чисел Randomize; // Создание и заполнение матрицы случайными числами SetLength(matrix, size, size); for i := 0 to size - 1 do begin for j := 0 to size - 1 do begin matrix[i, j] := Random(maxValue - minValue + 1) + minValue; end; end; // Вывод матрицы на экран for i := 0 to size - 1 do begin for j := 0 to size - 1 do begin Write(matrix[i, j]:4); end; Writeln; end; // Вычисление произведения элементов, лежащих вне главной диагонали product := 1; for i := 0 to size - 1 do begin for j := 0 to size - 1 do begin if i <> j then product := product * matrix[i, j]; end; end; Writeln('Произведение элементов, лежащих вне главной диагонали: ', product); ReadLn; end.

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

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос