
04.05.2012, 13:13
|
 |
Модератор
|
|
Регистрация: 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 рублей на телефон.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.
Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
|