| 
| 
 | Вопрос # 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 » Алгоритмы, преобразования модератором Ерёмин А.А. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |