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

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

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

Тут заполняется числами за формулой;
Листинг программы
  1. if m1=1 then begin
  2. for i:=1 to n do
  3. for j:=1 to n do
  4. a[i, j]:=(j*abs(2-3.1*i))*exp((i+j)*ln(1.2))*(abs(i-3)-1.25)*(5.4-j);
  5. end ;
Тут мы сами заполняем матрицу числами;
Листинг программы
  1. if m1=2 then begin
  2. clrscr;
  3. writeln(' Vvedite matricu ');
  4. for i:=1 to n do begin
  5. clrscr;
  6. for j:=1 to n do begin
  7. write('a[',i,',',j,']=');read(a[i, j]);
  8. end;
Как сделать так, чтобы матрица заполнилась случайными числами? Полная задача в вложениях Прошу помочь

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

textual
Листинг программы
  1. program kurs_13_3;
  2. uses crt;
  3. const Lnt=30;
  4. type matr=array [1..Lnt, 1..Lnt] of real;
  5.      vctr=array [1..Lnt] of real;
  6. var a:matr;
  7.     x:vctr;
  8.     m1, i, j, n, nom_min, t: byte;
  9.     u, umn, sum, min, min2: real;
  10.  
  11. function F1(s:real;vk:vctr):real;
  12.     begin
  13.     F1:=s+sqr(vk[i]);
  14.     end;
  15.  
  16. BEGIN
  17. clrscr;
  18. randomize;
  19. write(' Vvedite razmer matrici N=');
  20. readln(n);
  21. writeln(' 1 - Sformirovat matricu po formule ');
  22. writeln(' 2 - Vvesti s klaviaturi ');
  23. writeln(' 3 -Random');
  24. readln(m1);
  25. clrscr;
  26. case m1 of
  27. 1: begin
  28.    for i:=1 to n do
  29.    for j:=1 to n do
  30.    a[i, j]:=(j*abs(2-3.1*i))*exp((i+j)*ln(1.2))*(abs(i-3)-1.25)*(5.4-j);
  31.    end ;
  32.  
  33. 2: begin
  34.    clrscr;
  35.    writeln(' Vvedite matricu ');
  36.    for i:=1 to n do
  37.     begin
  38.      clrscr;
  39.      for j:=1 to n do
  40.       begin
  41.        write('a[',i,',',j,']=');
  42.        read(a[i, j]);
  43.       end;
  44.      end;
  45.    end;
  46. 3: begin
  47.    for i:=1 to n do
  48.    for j:=1 to n do
  49.    a[i,j]:=10*random;
  50.    end;
  51. end;
  52. writeln(' Sformirovanaja matrica ');
  53. for i:=1 to n do
  54.  begin
  55.   for j:=1 to n do
  56.   write(a[i,j]:8:2);
  57.   writeln;
  58.  end;
  59.  
  60. min:=0; nom_min:=2;
  61. for i:=1 to n do
  62. min:=min+a[i,2];
  63.  
  64. for j:=1 to n do
  65. if (j mod 2)=0 then
  66.  begin
  67.   min2:=0;
  68.   for i:=1 to n do
  69.   min2:=min2+a[i,j];
  70.   if min>min2 then
  71.    begin
  72.     min:=min2;
  73.     nom_min:=j
  74.    end;
  75.  end;
  76.  
  77. t:=0;
  78. for i:=1 to n-2 do
  79. if (i mod 2)=1 then
  80. if a[i,nom_min]<>a[i+2,nom_min] then t:=1;
  81.  
  82. if t=0 then
  83. for i:=1 to n do
  84. x[i]:=a[i, nom_min]
  85. else
  86. for i:=1 to n do
  87. x[i]:=a[1, i];
  88. writeln;
  89. writeln(' Vector X :  ');
  90. for i:=1 to n do
  91. write(x[i]:6:2);
  92. writeln;
  93. writeln;
  94. umn:=1;
  95. for i:=1 to n do
  96. umn:=umn*x[i];
  97. sum:=0;
  98. for i:=1 to n do
  99. sum:=F1(sum,x);
  100. u:=sum*umn;
  101. writeln(' U =  ',u:0:4);
  102.  
  103. readkey;
  104. END.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы