Вопрос задан 01.03.2021 в 00:54.
Предмет Информатика.
Спрашивает Ромина Софья.
На языке Паскаль. Заполнить матрицу случайными числами. Размерность и диапазон генерации ввести с
клавиатуры. Вычислить произведение элементов массива, лежащих вне главной диагонали.Ответы на вопрос
Отвечает Тетюрин Илья.
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
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
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример кода на языке Паскаль, который выполняет задачу, описанную в вашем вопросе:
pascalprogram 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.
Этот код позволяет пользователю ввести размерность матрицы, минимальное и максимальное значения для генерации случайных чисел. Затем матрица заполняется случайными числами из заданного диапазона, выводится на экран, и вычисляется произведение элементов, не лежащих на главной диагонали. Результат выводится на экран.
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
