
08.04.2008, 17:17
|
Активный
|
|
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
|
|
Цитата:
Сообщение от Регина
Все никак не могу решить эту задачку: ввести многомерный массив. Пронормировать ее, то есть каждый элемент введенного массива разделитьна максимальный элемент. Вывести на экран исходную и преобразованную матрицу. Вывести на экран номер строки и столбца максимального элемента.
своей проге использую 2 StrinGrida, и два Edita для вывода номера строки и столбца. Туда все выводится, но неправильно. Помогите пожалуйста девушке, кто чем может!!!! Мозги уже кипят, еще курсовик переди.
|
Код:
const n = 4;
var
Form1: TForm1;
C: array [1..n,1..n] of real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
Var i,j:integer;
begin
Randomize;
For j:=1 to n do
for i := 1 to n do
begin
C[i,j]:=Random(500);
end;
with StringGrid1 do
begin
ColCount:=n+1;
RowCount:=n+1;
For j:=1 to n do
for i := 1 to n do
begin
Cells[i,j] := FloatToStr(c[i,j]);
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var j,i, NumStr, NumCol :integer;
max:real;
begin
max:=0;
NumStr:=0;
NumCol:=0;
for i:=1 to n do
for j:=1 to n do
begin
if c[i,j]>max then
begin
max:=c[i,j];
NumStr:=j;
Numcol:=i;
end;
end;
label1.Caption:=FloatToStr(max);
for i:=1 to n do
for j:=1 to n do
c[i,j]:=c[i,j]/max;
with StringGrid2 do
begin
For i:=1 to n do
for j:=1 to n do
begin
Cells[i,j] := FormatFloat('0.00',c[i,j]);
end;
end;
label1.Caption:=FloatToStr(max);
label2.Caption:=IntToStr(NumStr);
label3.Caption:=IntToStr(NumCol);
end;
end.
Только элементы массива заполняются, через random. Лень было заполнять вручную. Думаю переделать сможете.
Вообще Yurk@ правильно говорит.. надо наработки выкладывать.
Последний раз редактировалось MegaPiha, 08.04.2008 в 17:21.
|