Показать сообщение отдельно
  #6  
Старый 04.05.2012, 13:13
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Примерно такое рещение мне видится:
Код:
program MatrixDemo;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  MaxMatrix = 10;
type
  TMatrix = array [1..MaxMatrix,1..MaxMatrix] of Word;
procedure FillMatrix(var Matrix:TMatrix);
var
  i,j:Integer;
begin
  for i := 1 to MaxMatrix do
    for j := 1 to MaxMatrix do
      Matrix[i,j]:=65536-Random(65536);
end;
procedure ShowMatrix(Matrix:TMatrix);
var
  i,j:Integer;
begin
  Writeln;
  for j := 1 to MaxMatrix do
    begin
      for i := 1 to MaxMatrix do
        Write(Matrix[i,j]:7);
      Writeln;
    end;
  Writeln;
end;
function GetMaxRowNumber(Matrix:TMatrix):Integer;
var
  i: Integer;
  MaxValue:Integer;
begin
  MaxValue:=-1;
  Result:=-1;
  for i := 1 to MaxMatrix do
    if Matrix[i,i]>MaxValue then
      begin
        MaxValue:=Matrix[i,i];
        Result:=i;
      end;
end;
procedure SwapRows(var Matrix:TMatrix; a,b:integer);
var
  tmp:word;
  i: Integer;
begin
  if a=b then
    Exit;
  for i := 1 to MaxMatrix do
    begin
      tmp:=Matrix[i,a];
      Matrix[i,a]:=Matrix[i,b];
      Matrix[i,b]:=tmp;
    end;
end;
var
  Matrix:TMatrix;
  Row:Integer;
begin
  try
    WriteLn('Input row number [1..10]');
    ReadLn(Row);
    FillMatrix(Matrix);
    Writeln('Matrix before:');
    ShowMatrix(Matrix);
    SwapRows(Matrix,Row,GetMaxRowNumber(Matrix));
    Writeln('Matrix after:');
    ShowMatrix(Matrix);
    Readln;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

ЗЫЖ Хочу 50 рублей на телефон.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием