• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Приглашаем на KubanCTF

    Старт соревнований 14 сентября в 10:00 по москве

    Ссылка на регистрацию в соревнованиях Kuban CTF: kubanctf.ru

    Кодебай является технологическим партнером мероприятия

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

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

Loony

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

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

sinkopa

Помогите вроде и легко но вызывает затруднения..
Дана действительная матрица размером 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;
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!