| Код | procedure TForm1.Button1Click(Sender: TObject); var
a: array[1..200,1..200] of Integer; //массив от 1 до 200 (это значит массив максимум может состоять из таблицы 200х200
i: integer; //Индекс колонок ??? J:Integer; //индекс строк ??? max: real; //Максимальное значение min: real; //Минимальное значение rez: real; //Результат
{Вводим массив} begin
For I:=1 To StringGrid1.ColCount-1 Do //Это индекс колонок ??? (для чего они тут?) For J:=1 To StringGrid1.RowCount-1 Do //Это индекс строк ??? (для чего они тут?) If StringGrid1.cells [i,J]<>'' then //Если текущий элемент StringGrid не пустой a[i,J]:= StrToInt(StringGrid1.cells [i,J]); //то преобразовать его в Float
max:=a[1,1]; //Мы предполагаем что максимальный элемент находится в поле [1,1] min:=a[1,1]; //Так же мы предполагаем что минимальный элемент находится в поле [1,1] For I:=1 To StringGrid1.ColCount-1 Do //Начинаем цикл в первой колонке (так?) For J:=1 To StringGrid1.RowCount-1 Do //Начинаем цикл в первой строке (так?) Begin IF a[i,J] > max Then max:= a[i,J];//Сравниваем текущий элемент с максимальным значением, если он больше максимального предыдущего то значение найдено IF a[i,j] < min Then min:= a[i,j]; //Сравниваем текущий элемент с минимальным значением, если он меньше минимального предыдущего то значение найдено end;
rez:= max - min; label1.Caption:='Минимальный элемент массива: ' + FloatToStr(min) + #13 + 'Максимальный элемент массива: ' + FloatToStr(max) + #13 + 'Разность между максмильным и минимальным значением: ' + FloatToStr(rez);
end;
procedure TForm1.SpeedButton1Click(Sender: TObject); begin StringGrid1.RowCount:=StrToInt(Edit2.Text)+1; // ??? end;
procedure TForm1.SpeedButton2Click(Sender: TObject); begin StringGrid1.ColCount:=StrToInt(Edit1.Text)+1; // ??? end;
procedure TForm1.Button2Click(Sender: TObject); //По нажатии кнопки сгенерировать var I,J:Integer; begin Randomize;
For I:=1 To StringGrid1.ColCount-1 Do //Тут заполняем таблицу случайными числами с первой колонки и строки For J:=1 To StringGrid1.RowCount-1 Do StringGrid1.Cells[I,J]:=IntToStr(Random(1000)); //Генерируем числа от 0 - 1000
end;
end.
|
Вот у меня есть вопросы, правильно я прокоментировал исходный код? Там где мне не понятно, я выставил вопросы. Заранее спс. |