Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите, пожалуйста, исправить программу (http://www.tehnari.ru/f41/t96309/)

Amir1995 13.05.2014 16:43

Помогите, пожалуйста, исправить программу
 
дана матрица 4Х7. Преобразовать матрицу поменяв местами минимальный и максимальный элемент в каждом столбце

procedure TForm1.Button1Click(Sender: TObject);
var
a:array[1..4,1..7] of integer;
max,min,g,j,i:integer;
begin
for i:=1 to 4 do
for j:=1 to 7 do
begin
a[i,j]:=random(20);
StringGrid1.cells[i-1,j-1]:=inttostr(a[i,j]);
end;


end;

procedure TForm1.Button2Click(Sender: TObject);
var
a:array[1..4,1..7] of integer;
imax,imin,max,min,g,j,i:integer;

begin
max:=0;
min:=21;
begin
for j:=1 to 7 do begin
imax:=1; imin:=1;
max:=a[j,1]; min:=a[j,1];

for i:=2 to 4 do begin

if a[j,i]<min then begin
min:=a[j,i]; imin:=i;
end;
if a[j,i]>max then begin
max:=a[j,i]; imax:=i;
end;
a[j,imin]:=max;
a[j,imax]:=min;
end;
end;
stringGrid2.cells[i-1,j-1]:=inttostr(a[i,j]);
end;

end;
end.
во второй таблице не выводит преобразованную матрицу.
Заранее благодарен!!!

Замечание:
Напоминаю, что в соответствии с Правилами, кросспостинг (размещение дубликатов тем в разных разделах) ЗАПРЕЩЕН.
Тема-дубликат удалена.

Модератор.

Vladimir_S 13.05.2014 16:55

Цитата:

Сообщение от Amir1995 (Сообщение 1031724)
if a[j,i]<min then begin
min:=a[j,i];
imin:=i;
end;
if a[j,i]>max then begin
max:=a[j,i];
imax:=i;
end;
a[j,imin]:=max;
a[j,imax]:=min;
end;
end;

Прежде всего, всюду в этом фрагменте следует поменять местами индексы, т.е. вместо a[j,i] записать a[i,j], вместо a[j,imin] записать a[imin,j] и т.д.
Кроме того, для вывода нужно организовать отдельный цикл.

Amir1995 13.05.2014 17:14

Все поменял, теперь выводит только один ноль в углу и все

Vladimir_S 13.05.2014 17:20

Цитата:

Сообщение от Amir1995 (Сообщение 1031733)
Все поменял, теперь выводит только один ноль в углу и все

Черт, будь бы это Паскаль, я бы Вам отладил программу в три секунды. А с этими формами... извините, всё позабыл.

Amir1995 13.05.2014 17:23

Поняятно, ну ладно спасибо за это хоть помочь по пытались.


Часовой пояс GMT +4, время: 00:32.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.