Двумерные Массивы(delphi)

  • Автор темы Loony
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

Loony

#1
Помогите вроде и легко но вызывает затруднения..

Дана действительная матрица размером MxN. Найти сумму наименьших значений ее строк
 

sinkopa

Well-known member
17.06.2009
344
4
#2
Помогите вроде и легко но вызывает затруднения..
Дана действительная матрица размером MxN. Найти сумму наименьших значений ее строк
Действительно, проще некуда... ;)
Код:
const
M = 10;
N = 15;
MAXRND = 100; // Двойное назначение:
// 1. Как диапазон для Random;
// 2. Значение гарантированно больше любого элемента
var
Matrix: array [1..M,1..N] of Real;

procedure TMainForm.Button2Click(Sender: TObject);
var
i,j: Integer;
Min,Summ: Real;
s,s1: string;
begin
s1 := StringOfChar('*', M*4); // это для красоты :-)
s := s1 + Format(' Матрица %dx%d ',[M,N]) + s1 + #13;

{ заполнение матрицы }
Randomize;
for i := 1 to M do
begin
for j := 1 to N do
begin
{ расчет элемента }
Matrix[i,j] := (Random(MAXRND)+1) / (Random(MAXRND)+1);
{ вывод куда нибудь... например в TStringGrid }
s := s + Format('%6.2f'#9, [Matrix[i,j]]);
end;
s := s + #13;
end;

s1 := StringOfChar('*', M*4-4);  // это для красоты :-)
s := s + s1 + ' Мин. значения в строках '+ s1 + #13;

{ вычисление суммы минимальных значений строк }
Summ := 0;
for i := 1 to M do
begin
Min := MAXRND; // назначаем значение гарантированно больше любого элемента в строке
for j := 1 to N do
begin
{ вычисление минимального значения в строке }
if (Matrix[i,j] < Min) then
Min := Matrix[i,j];
end;
{ вычисление суммы минимальных значений }
Summ := Summ + Min;
s := s + Format('с%d =%6.2f; ', [i,Min]);
end;

s1 := StringOfChar('*', M*9+5);  // это для красоты :-)
s := s + #13+s1+#13;

{ вывод результата }
s := s + Format('Сумма наименьших значений = %6.2f ', [Summ])+ #13;
ShowMessage(s);

end;
 
Статус
Закрыто для дальнейших ответов.