Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project2;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- var
- Matrix: array of array of Integer;
- NewArr: array of Integer;
- Order, i,j, NewArrIndex, Iteration, EndOfTheMatrix, Buf: Integer;
- begin
- Writeln('Enter order of the matrix');
- Readln(Order);
- SetLength(Matrix, Order, Order);
- SetLength(NewArr, Order*Order);
- Iteration := Order - 1;
- for i := 0 to Iteration do
- begin
- for j := 0 to Iteration do
- Read(Matrix[i][j]);
- Readln;
- end;
- NewArrIndex := 0;
- for i := 0 to Iteration do
- for j := 0 to Iteration do
- begin
- NewArr[NewArrIndex] := Matrix[i][j];
- Inc(NewArrIndex);
- end;
- Iteration := High(NewArr) - 1;
- for i := 0 to Iteration do
- for j := 0 to Iteration - i do
- if NewArr[j] > NewArr[j+1] then
- begin
- Buf := NewArr[j];
- NewArr[j] := NewArr[j+1];
- NewArr[j+1] := Buf;
- end;
- i := 0;
- j := 0;
- NewArrIndex := 0;
- EndOfTheMatrix := (Order * Order) - 1;
- Iteration := Order - 1;
- while NewArrIndex < EndOfTheMatrix do
- begin
- while j < Iteration do
- begin
- Matrix[i][j] := NewArr[NewArrIndex];
- Inc(NewArrIndex);
- Inc(j);
- end;
- while i < Iteration do
- begin
- Matrix[i][j] := NewArr[NewArrIndex];
- Inc(NewArrIndex);
- Inc(i);
- end;
- while j > Order - Iteration - 1 do
- begin
- Matrix[i][j] := NewArr[NewArrIndex];
- Inc(NewArrIndex);
- Dec(j);
- end;
- Dec(Iteration);
- while i > Order - Iteration - 1 do
- begin
- Matrix[i][j] := NewArr[NewArrIndex];
- Inc(NewArrIndex);
- Dec(i);
- end;
- if NewArrIndex = EndOfTheMatrix then
- begin
- Matrix[i][j] := NewArr[NewArrIndex];
- Inc(NewArrIndex);
- end;
- end;
- Iteration := Order - 1;
- for i := 0 to Iteration do
- begin
- for j := 0 to Iteration do
- Write(Matrix[i][j], ' ');
- Writeln;
- end;
- Readln;
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement