Из большей в меньшую, обычно делать число на основание числа, которое хотят получить, с учетом что на каждой итерации деления в столбик остатокот деление не должен превышать основание.
Например число 56 перевести в двоичную систему
56/2 = 28 (остаток 0) 28/2 =14 (остаток 0) 14/2 = 7(остаток 0) 7/2=3(остаток 1) 3/2=1 (остаток 1) Число будет состоять из остатков от деления записанных в обратном порядке 111000
<em>8,3,11,6,1,9,4</em>
<em>Чтобы подняться на 8 на первом нажимаем в верх на 8 вниз на 3 верх на 11 вниз на 6 вниз на 1 верх и на 9 вниз.</em>
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] <> 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] < 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).
Начало:1.подойти к телефону,2.поднять трубку телефона,3.набрать номер друга,4.подождать пока друг поднимет трубку,5.поговорить с другом,6.поставить трубку на место,7.отойти от телефона. конец