Сделать так, чтобы матрица заполнилась случайными числами - Turbo Pascal
Формулировка задачи:
Тут заполняется числами за формулой;
Тут мы сами заполняем матрицу числами;
Как сделать так, чтобы матрица заполнилась случайными числами?
Полная задача в вложениях
Прошу помочь
Листинг программы
- if m1=1 then 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 ;
Листинг программы
- if m1=2 then 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;
Решение задачи: «Сделать так, чтобы матрица заполнилась случайными числами»
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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д