Помощь - Поиск - Пользователи - Календарь
Полная версия: Отражение нессимметричной матрицы
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Legolas
Ребята, помогите плиз smile.gif
Нужно отразить нессимметричную матрицу относительно побочной диагонали.

Мне помогли сделать отражение относительно главной диагонали, а вот с отражением отн. побочной я застрял.
Может кто поможет?

Вот примерный код отражения отн. глав. диаг.:
Код
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, StdCtrls;

type
  TForm1 = class(TForm)
    SG: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
{VAR I:INTEGER;   }
begin
{FOR I:=0 TO 4 DO

SG.CELLS[0,I]:=INTTOSTR(I+1);  }
//SG.Cols[0].LoadFromFile('W:\íîìåð.txt');


end;

procedure TForm1.Button1Click(Sender: TObject);
var a,i,j:integer;

begin
a:=3;
for i:=0 to 4 do
for j:=1 to 5 do
begin
sg.Cells[j,i]:=inttostr(a+random(5)+1);
a:=strtoint(sg.cells[j,i]);
end;
end;



// Процедура отражения отн. главн диаг.
procedure TForm1.Button2Click(Sender: TObject);
var i,j:integer;
b:string;
begin
for i:=0 to 4 do
for j:=i+2 to 5 do  begin
b:=sg.cells[j,i];
sg.Cells[j,i]:=sg.cells[i+1,j-1];
sg.cells[i+1,j-1]:=b;

end;
end;
end.

Также высылаю архив с прогой.
Legolas
smile.gif
мисс_граффити
а какая разница, относительно чего отображать? только индексы другие будут...
-Legolas-
Дело в том, что я не могу отобразить элементы матрицы относительно побочной диагонали.
Надеюсь на вашу помощь... smile.gif
volvo
  for i := 1 to n - 1 do
for j := 1 to n - i do begin
T := a[i, j];
a[i, j] := a[n - j + 1, n - i + 1];
a[n - j + 1, n - i + 1] := T
end;
klem4
Legolas, в следующий раз пользуйся поиском ...

Вот например ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.