|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2016, 19:10 | #1 |
Новичок
Джуниор
Регистрация: 01.12.2016
Сообщений: 2
|
[Delphi]: Сортировка массива, состоящего из максимальных элементов заданных матриц
Помогите выполнить задание.С Delphi впервые столкнулся.
Последний раз редактировалось Вадим Мошев; 01.12.2016 в 21:35. |
04.12.2016, 11:25 | #2 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,950
|
Код:
|
05.12.2016, 23:32 | #3 |
Новичок
Джуниор
Регистрация: 01.12.2016
Сообщений: 2
|
Другой код
Простите , но можете подсказать в чем проблема в моем коде?У меня при выводе массива выдает нули.
procedure vyvod(x:matr; Matrix_A:string; a:tlabel); var i,j:byte; begin a.caption:=Matrix_A+#13; for i:=1 to 3 do begin for j:=1 to 3 do begin a.caption:=a.caption+format('%5.1f' ,[x[i,j]]); end; a.Caption:=a.caption+#13; end; end; procedure vyvod1(x:matr1; Matrix_B:string; b:TLabel); var i,j:Byte; begin b.Caption:=Matrix_B+#13; for i:=1 to 3 do begin for j:=1 to 2 do begin b.caption:=b.Caption+format('%5.1f' ,[x[i,j]]); end; b.Caption:=b.caption+#13; end; end; procedure vyvod2(x:matr2; Matrix_C:string; c:Tlabel); var i,j:byte; begin c.caption:=Matrix_C+#13; for i:=1 to 2 do begin for j:=1 to 3 do begin c.caption:=c.caption+' '+ Format('%5.1f',[x[i,j]]); end; c.Caption:=c.caption+#13; end; end; procedure vyvod3( x:matr3; Matrix_D:string; d:TLabel); var i,j:Byte; begin d.caption:=Matrix_D+#13; for i:=1 to 2 do begin for j:=1 to 2 do begin d.caption:=d.Caption+' '+format('%5.1f',[x[i,j]]); end; d.Caption:=d.caption+#13; end; end; procedure TForm1.vvodmatrici1Click(Sender: TObject); begin vyvod(a,'Matrix_A',label1); vyvod1(b,'Matrix_B',label2); vyvod2(c,'Matrix_C',label3); vyvod3(d,'Matrix_D',label4); end; {Ïîèñê ìàêñèìàëüíûõ ýëåìåíòîâ ìàòðèöû} function max(a:matr):real; var k:real; var i,j:Byte; begin k:=a[1,1]; for i:=1 to 3 do begin for j:=1 to 3 do begin if a[i,j]>k then k:=a[i,j]; end; end; h[1]:=k; end; function max1(b:matr1):Real; var q:Real; var i,j:Byte; begin q:=b[1,1]; for i:=1 to 3 do begin for j:=1 to 2 do begin if b[i,j]>q then q:=b[i,j]; end; end; h[2]:=q; end; function max2(c:matr2):Real; var o:Real; var i,j:Byte; begin o:=c[1,1]; for i:=1 to 2 do begin for j:=1 to 3 do begin if c[i,j]>o then o:=c[i,j]; end; end; h[3]:=o; end; function max3(d:matr3):Real; var u:real; var i,j:Byte; begin u:=d[1,1]; for i:=1 to 2 do begin for j:=1 to 2 do begin if d[i,j]>u then u:=d[i,j]; end; end; h[4]:=u; end; {ïðîöåäóðà ñîðòèðîâêè ìàññèâà} procedure TForm1.sort1Click(Sender: TObject); var i,j:byte; buf:Real; begin begin for i:=1 to 4 do for j:=1 to 4-i do if h[j]>h[j+1] then begin buf:=h[j]; h[j]:=h[j+1]; h[j+1]:=buf; end; for i:=1 to 4 do label5.Caption:=label5.Caption+' '+floattostr(h[i]); end; end; {Çàêðûòèå ôîðìû} procedure TForm1.N1Click(Sender: TObject); begin close end; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Матрица. Задана матрица X[N,N], где N<=15. В каждом столбце матрицы поменять местами минимальный элемент и элемент главной диагона | _Marchel_ | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 28.11.2015 16:23 |
Паскаль. Матрица NxN -> текстовый файл -> Матрица NxN - найти max по диагоналям -> типизированный файл | Лунатик13 | Помощь студентам | 1 | 20.02.2012 15:54 |
Непонятки с DirectX (матрица поворота, камера, матрица проекции) | ROD | Общие вопросы C/C++ | 2 | 17.09.2010 17:00 |
TurboPascal: граф, матрица смежности и матрица инцидентности. | ulala | Помощь студентам | 0 | 02.12.2009 10:11 |