Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
ВнизМассив Найти похожие ветки
← →
Евгений (2007-12-16 09:19) [0]Скажите пожалуйста!!!!
Сформировать двухмерный массив. Преобразовать его в одномерный.
Как упорядочить этот одномерный массив по убыванию и снова преобразовать его в двухмерный?
a : array [0..30,0..30] of integer;
n,i,m,k,p,f,j:integer;
b:array of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
randomize;
n:=strtoint(edit1.Text);
m:=strtoint(edit2.Text);
if (n<31) and (m<31) then
begin
for i:=0 to n-1 do
for j:=0 to m-1 do
a[i,j]:=round(sin(random(30))*30);
stringgrid1.rowcount:=n+1;
stringgrid1.colcount:=m+1;
with stringgrid1 do
begin
i:=0;
for j:=1 to rowcount do
cells[i,j]:=inttostr(j);
end;
with stringgrid1 do
for i:=1 to n do
for j:=1 to m do
cells[j,i]:=inttostr(a[i-1,j-1]);
end
end;
procedure TForm1.Button2Click(Sender: TObject); {преоразовывание в одномерный}
begin
edit3.text:=" ";
setlength(b,n*m);
k:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
begin
b[k]:=a[i,j];
edit3.text:=edit3.text+inttostr(b[k])+" " ;
k:=k+1;
end;
end;
← →
homm © (2007-12-16 09:36) [1]> Как упорядочить этот одномерный массив по убыванию и снова
> преобразовать его в двухмерный?
Двумрность иль одномерность есть лишь суть воприятия дествительности, котораяя гласит что память линейна, а пространнство непрерывно. Меняется лишь способ доступа.
← →
Евгений (2007-12-16 09:41) [2]
> homm © (16.12.07 09:36) [1]
> > Как упорядочить этот одномерный массив по убыванию и снова
> > преобразовать его в двухмерный?Двумрность иль одномерность
> есть лишь суть воприятия дествительности, котораяя гласит
> что память линейна, а пространнство непрерывно. Меняется
> лишь способ доступа.
суть в том что ваще не получается.
не могли бы вы показать как упорядочить этот одномерный массив? Плизз!!!
← →
homm © (2007-12-16 09:44) [3]> [2] Евгений (16.12.07 09:41)
Прочти про «быструю сортировку». А преобразовывать туда-сюда не нужно ничего.
← →
Евгений (2007-12-16 12:26) [4]почему он не сортирует? вроде правильно
procedure TForm1.Button3Click(Sender: TObject);
var
u,u_i,o,y:integer;
begin
p:=k-1;
edit4.text:=" ";
for k:=0 to p-1 do
begin
u:=0;
u_i:=0;
for y:=k to p do
begin
if b[y]>u_i then
begin
u_i:=b[y];
u:=y;
end;
u_i:=b[k];
b[k]:=b[u];
b[u]:=u_i;
end;
end;
for k:=0 to p do
edit4.text:=edit4.text+inttostr(b[k])+" " ;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c