Вопрос по информатике:
На языке Паскаль.
Заполнить матрицу случайными числами. Размерность и диапазон генерации ввести с клавиатуры. Вычислить произведение элементов массива, лежащих вне главной диагонали.
- 01.12.2017 15:45
- Информатика
- remove_red_eye 10817
- thumb_up 11
Ответы и объяснения 1
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
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
else
c:=2
else
if (x
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 (mp) then pro:=pro*a[m,p]; {Вычислить произведение элементов массива, лежащих вне главной диагонали.}
write (a[m,p]:3,' ':3);
end;
end;
writeln('pro=',pro);
a:=NIL;
end.
// ABC Pascal
- 02.12.2017 16:11
- thumb_up 20
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.