|
Вопрос # 3 503/ вопрос открыт / |
|
Здравствуйте!
Помогите, пожалуйста, составить программу:
составить функцию, которая поменяет местами наименьшие элементы под и над главной диагональю матрицы.
 |
Вопрос задал: _Spider_ (статус: Посетитель)
Вопрос отправлен: 8 декабря 2009, 22:36
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
На самом деле тут ничего сложного. Достаточно представить, как бы ты это делал вручную на бумажке.
См. приложение.
Приложение: Переключить в обычный режим- program p3503;
-
- {$APPTYPE CONSOLE}
-
- uses
- Types;
-
- const
-
-
- type
-
- TMatrix = array[0..N - 1, 0..N - 1] of Integer;
-
-
- procedure RandomMatrix(var X: TMatrix);
- var
- i, j: Integer;
- begin
- for i:= 0 to N - 1 do
- for j:= 0 to N - 1 do
- X[i, j]:= Random(101) - 50;
- end;
-
-
- procedure OutMatrix(const X: TMatrix);
- var
- i, j: Integer;
- begin
- for i:= 0 to N - 1 do
- begin
- for j:= 0 to N - 1 do
- Write(X[i, j]: 5);
-
- WriteLn;
- end;
- end;
-
- procedure ExchangeMinElements(var X: TMatrix);
- var
- i, j, Min: Integer;
- MinAbove, MinBelow: TPoint;
- begin
- { 0 1 2 3
- 0 D A A A
- 1 B D A A
- 2 B B D A
- 3 B B B D }
-
-
-
-
-
- Min:= MaxInt;
-
-
- if X[i, j] < Min
- then begin
- Min:= X[i, j];
- MinAbove.X:= j;
- MinAbove.Y:= i;
- end;
-
- WriteLn;
- WriteLn(' Minimum above: [', MinAbove.Y, ', ', MinAbove.X, '] = ', Min);
-
-
- Min:= MaxInt;
-
-
- if X[i, j] < Min
- then begin
- Min:= X[i, j];
- MinBelow.X:= j;
- MinBelow.Y:= i;
- end;
-
- WriteLn(' Minimum below: [', MinBelow.Y, ', ', MinBelow.X, '] = ', Min);
-
-
- X[MinBelow.Y, MinBelow.X]:= X[MinAbove.Y, MinAbove.X];
- X[MinAbove.Y, MinAbove.X]:= Min;
- end;
-
- var
- X: TMatrix;
-
- begin
- Randomize;
- RandomMatrix(X);
- WriteLn(#13#10' Source matrix: '#13#10);
- OutMatrix(X);
- ExchangeMinElements(X);
- WriteLn(#13#10' After exchange: '#13#10);
- OutMatrix(X);
-
- ReadLn;
- end.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 декабря 2009, 10:17
Оценка за ответ: 5
Комментарий к оценке: Большое спасибо!)
|
Мини-форум вопроса
Всего сообщений: 0.
9 декабря 2009, 08:42: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Алгоритмы, преобразования модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|