[Delphi - Form] - 99Определить является ли целочисленная матрица симметричной условно
[Delphi - Form] - 99
Найти является ли целочисленная матрица симметричной условно вертикальной оси. При отсутствии симметрии поменять элементы на малый из них.
Дмитрий
Нельзя сюда выложить проект полностью - как вариант, можно код программы, и скрин формы
Вадим Хололов
Давай так тогда
1 ответ
Кристина Куроплина
Unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
Private declarations
public
Public declarations
end;
var
Form1: TForm1;
N:byte;
A:array[1..256,1..256] of shortint;
implementation
R *.dfm
Function S4(A:shortint):String;
Begin
result:=IntToStr(A);
For A:= 1 to 4-Length(result) do
result:=' '+result;
End;
procedure TForm1.Button1Click(Sender: TObject);
Var
i,j:byte;
S:string;
begin
Randomize;
N:=StrToInt(Edit1.Text);
ListBox1.Clear;
For i:= 1 to N do
Begin
S:='';
For j:= 1 to N do
Begin
A[i,j]:=random(256)-128;
S:=S+S4(A[i,j])+' '
End;
ListBox1.Items.Add(S)
End;
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
M,i,j,iMin,jMin:byte;
B:boolean;
S:string;
begin
M:=N div 2;
B:=true;
For i:= 1 to N do
For j:= 1 to M do
if A[i,j] lt;gt; A[i,N-j+1] then B:=false;
if Not B then
Begin
iMin:=1;
jMin:=1;
For i:= 1 to N do
For j:= 1 to N do
if A[i,j] lt; A[iMin,jMin] then
Begin
iMin:=i;
jMin:=j;
End;
ListBox1.Clear;
For i:= 1 to N do
Begin
S:='';
For j:= 1 to N do
Begin
A[i,j]:=A[iMin,jMin];
S:=S+S4(A[i,j])+' '
End;
ListBox1.Items.Add(S)
End;
End
end;
end.
Для красивого вывода матрицы на форме стоит моноширинный шрифт Courier New(Шрифт можно поменять так: избрать объект(например, ListBox1), дальше отыскать свойство Font Name, и изменить шрифт на нужный). Размер шрифта на Label1 = 13(Label1.Size = 13).
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
Private declarations
public
Public declarations
end;
var
Form1: TForm1;
N:byte;
A:array[1..256,1..256] of shortint;
implementation
R *.dfm
Function S4(A:shortint):String;
Begin
result:=IntToStr(A);
For A:= 1 to 4-Length(result) do
result:=' '+result;
End;
procedure TForm1.Button1Click(Sender: TObject);
Var
i,j:byte;
S:string;
begin
Randomize;
N:=StrToInt(Edit1.Text);
ListBox1.Clear;
For i:= 1 to N do
Begin
S:='';
For j:= 1 to N do
Begin
A[i,j]:=random(256)-128;
S:=S+S4(A[i,j])+' '
End;
ListBox1.Items.Add(S)
End;
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
M,i,j,iMin,jMin:byte;
B:boolean;
S:string;
begin
M:=N div 2;
B:=true;
For i:= 1 to N do
For j:= 1 to M do
if A[i,j] lt;gt; A[i,N-j+1] then B:=false;
if Not B then
Begin
iMin:=1;
jMin:=1;
For i:= 1 to N do
For j:= 1 to N do
if A[i,j] lt; A[iMin,jMin] then
Begin
iMin:=i;
jMin:=j;
End;
ListBox1.Clear;
For i:= 1 to N do
Begin
S:='';
For j:= 1 to N do
Begin
A[i,j]:=A[iMin,jMin];
S:=S+S4(A[i,j])+' '
End;
ListBox1.Items.Add(S)
End;
End
end;
end.
Для красивого вывода матрицы на форме стоит моноширинный шрифт Courier New(Шрифт можно поменять так: избрать объект(например, ListBox1), дальше отыскать свойство Font Name, и изменить шрифт на нужный). Размер шрифта на Label1 = 13(Label1.Size = 13).
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
10) Килограмм конфет дороже килограмма печенья на 52 р. За 8
Математика.
Во сколько раз число атомов кислорода в земной коре больше числа
Химия.
Составить монолог от имени дневника двоечника 7-10 предложений
Русский язык.
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Облако тегов