Сделать так, чтобы матрица заполнилась случайными числами - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Тут заполняется числами за формулой;
Тут мы сами заполняем матрицу числами;
Как сделать так, чтобы матрица заполнилась случайными числами? Полная задача в вложениях Прошу помочь

Решение задачи: «Сделать так, чтобы матрица заполнилась случайными числами»

textual
Листинг программы
program kurs_13_3;
uses crt;
const Lnt=30;
type matr=array [1..Lnt, 1..Lnt] of real;
     vctr=array [1..Lnt] of real;
var a:matr;
    x:vctr;
    m1, i, j, n, nom_min, t: byte;
    u, umn, sum, min, min2: real;
 
function F1(s:real;vk:vctr):real;
    begin
    F1:=s+sqr(vk[i]);
    end;
 
BEGIN
clrscr;
randomize;
write(' Vvedite razmer matrici N=');
readln(n);
writeln(' 1 - Sformirovat matricu po formule ');
writeln(' 2 - Vvesti s klaviaturi ');
writeln(' 3 -Random');
readln(m1);
clrscr;
case m1 of
1: begin
   for i:=1 to n do
   for j:=1 to n do
   a[i, j]:=(j*abs(2-3.1*i))*exp((i+j)*ln(1.2))*(abs(i-3)-1.25)*(5.4-j);
   end ;
 
2: begin
   clrscr;
   writeln(' Vvedite matricu ');
   for i:=1 to n do
    begin
     clrscr;
     for j:=1 to n do
      begin
       write('a[',i,',',j,']=');
       read(a[i, j]);
      end;
     end;
   end;
3: begin
   for i:=1 to n do
   for j:=1 to n do
   a[i,j]:=10*random;
   end;
end;
writeln(' Sformirovanaja matrica ');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:8:2);
  writeln;
 end;
 
min:=0; nom_min:=2;
for i:=1 to n do
min:=min+a[i,2];
 
for j:=1 to n do
if (j mod 2)=0 then
 begin
  min2:=0;
  for i:=1 to n do
  min2:=min2+a[i,j];
  if min>min2 then
   begin
    min:=min2;
    nom_min:=j
   end;
 end;
 
t:=0;
for i:=1 to n-2 do
if (i mod 2)=1 then
if a[i,nom_min]<>a[i+2,nom_min] then t:=1;
 
if t=0 then
for i:=1 to n do
x[i]:=a[i, nom_min]
else
for i:=1 to n do
x[i]:=a[1, i];
writeln;
writeln(' Vector X :  ');
for i:=1 to n do
write(x[i]:6:2);
writeln;
writeln;
umn:=1;
for i:=1 to n do
umn:=umn*x[i];
sum:=0;
for i:=1 to n do
sum:=F1(sum,x);
u:=sum*umn;
writeln(' U =  ',u:0:4);
 
readkey;
END.

Оцени полезность:

5   голосов , оценка 4.4 из 5
Похожие ответы