Даю максимум баллов за заданиеДан двумерный массив вещественных чисел. Создать...

0 голосов
50 просмотров

Даю максимум баллов за задание
Дан двумерный массив вещественных чисел.
Создать одномерный массив, содержащий произведение отрицательных элементов каждой строки.
Найти индекс минимального элемента.


Информатика (63 баллов) | 50 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
var a: array[,] of real;
    b: array of real;
    i,j,ind,n,m: integer;
    p,s: real;
begin
  write('размерность массива:  n m  ');  readln(n,m);
  writeln('массив:');
  setlength(a,n+1,m+1);
  setlength(b,n+1);
  randomize;
  for i:=1 to n do
  begin
     p:=1; s:=0;
     for j:=1 to m do
     begin
       a[i,j]:=random(-50,50)/100;
       write(a[i,j]:6:2);
       if a[i,j]<0 then<br>       begin
         p:=p*a[i,j];
         s:=1;
       end;  
     end;  
     if s>0 then b[i]:=p
     else b[i]:=0;
     writeln;
  end;
  s:=b[1]; ind:=1;
  writeln('новый массив:');
  for i:=1 to n do 
  begin
    write(b[i]:8:4);
    if b[i]    begin
      ind:=i; s:=b[i];
    end;  
  end;
  writeln;
  writeln('индекс минимального элемента в новом массиве:  ',ind);
end.

размерность массива:  n m  4 3
массив:
 -0.04  0.21  0.14
  0.00 -0.38 -0.05
 -0.29  0.12  0.12
  0.15 -0.16  0.37
новый массив:
 -0.0400  0.0190 -0.2900 -0.1600
индекс минимального элемента в новом массиве:  3


(9.7k баллов)
0

А можно переделать так, что бы не рандомно вводились значения, а с клавиатуры

0

Можно, убираете 2 строки a[i,j]:=random(-50,50)/100;
write(a[i,j]:6:2); , вместо них записываете строку read(a[i,j);

0

Спасибо огромное!

0

Здравствуйте! Поможете еще?