Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Двумерный массив A[n,n]

512
05 декабря 2004 года
bnm
124 / / 17.10.2004
Помогите отсортировать двумерный массив A[n,n] или скиньте линку на алгоритм.
301
05 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by bnm
Помогите отсортировать двумерный массив A[n,n] или скиньте линку на алгоритм.


А как отсортировать?
Типа

1 1 1 1
1 2 2 2
1 2 3 3
1 2 3 4 ?

или

1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4 ?
Уточни

512
07 декабря 2004 года
bnm
124 / / 17.10.2004
Вот так

начальный
1 4 1 6
1 2 6 2
6 2 3 3
1 2 3 4

конечный
1 1 1 1
2 2 2 2
3 3 3 4
4 6 6 6
301
07 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by bnm
Вот так

начальный конечный
1 4 1 6 1 1 1 1
1 2 6 2 2 2 2 2
6 2 3 3 3 3 3 4
1 2 3 4 4 6 6 6


Лучше тогда скажи правило сортировки...

247
08 декабря 2004 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by lord Kelvin

Лучше тогда скажи правило сортировки...


Ежели пузырем, тогда довольно просто.

i1:=1;
j1:=1;
i2:=1;
j2:=2;
for i:=1 to n*n-1 do
begin
if a[i1,j1]>a[i2,j2] then
begin
h:=a[i1,j1];
a[i1,j1]:=a[i2,j2];
a[i2,j2]:=h;
end;
i1:=i2;j1:=j2;
inc(j2);
if j2>n then
begin
j2:=1;
inc(i2);
end;
end;

Вот, примерно так.

512
08 декабря 2004 года
bnm
124 / / 17.10.2004
Мне нужно методом вставки и выборки,но выборкой я уже сделал,осталось методом вставки.
247
09 декабря 2004 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by bnm
Мне нужно методом вставки и выборки,но выборкой я уже сделал,осталось методом вставки.


Как в одномерном, знаешь?

512
11 декабря 2004 года
bnm
124 / / 17.10.2004
Цитата:
Originally posted by wanja

Как в одномерном, знаешь?



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

Метод вставки одн.мас. по возрастанию:

for i:=2 to n do
begin
while (a>a[i-1])and(i>1) do
begin
b:=a;
a:=a[i-1];
a[i-1]:=b;
i:=i-1;
end;
end;

247
11 декабря 2004 года
wanja
1.2K / / 03.02.2003
Мдя, тут с поиском главная закавыка. За... надоест отлаживать.
512
13 декабря 2004 года
bnm
124 / / 17.10.2004
Так что, может кто-то решить эту головоломку?
3.1K
23 декабря 2004 года
V_oron i
108 / / 01.12.2004
Цитата:
Originally posted by bnm
В одномерном очень легко и понятно,а для двумерного даже приблизительно не могу составить.

Если я правильно понял принцип, по которому надо отсортировать массив, то я бы сделал так: взял бы процедуру сортировки одномерного массива, и в качестве параметра передал бы указатель на первый элемент двумерного массива. Это будет работать, т.к. двумерный массив будет храниться в памяти так: сначала первая строчка, потом вторая, потом третья и т.д. Думаю, можно сделать что-нибудь в этом роде:

7.2K
27 января 2005 года
MFOB
40 / / 25.01.2005
Цитата:
Originally posted by wanja

Ежели пузырем, тогда довольно просто.

i1:=1;
j1:=1;
i2:=1;
j2:=2;
for i:=1 to n*n-1 do
begin
if a[i1,j1]>a[i2,j2] then
begin
h:=a[i1,j1];
a[i1,j1]:=a[i2,j2];
a[i2,j2]:=h;
end;
i1:=i2;j1:=j2;
inc(j2);
if j2>n then
begin
j2:=1;
inc(i2);
end;
end;

Вот, примерно так.



Я вот скопировал в *.pas и запустил ... у меня не пошло ;) Решил доработать - вроде получилось:

uses crt;
const n=5;
var
h,i,j,i1,j1,i2,j2:integer;
a:array[1..n,1..n]of integer;
begin
randomize;clrscr;
for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(50);write(a[i,j]:3);end;writeln;end;

writeln;writeln('>>>>>>>>>>>>>>>');writeln;
i1:=1;j1:=1;i2:=1;j2:=2;
for i:=1 to n*n do
for j:=1 to n*n do
begin
if a[i1,j1]>a[i2,j2] then begin
h:=a[i1,j1];
a[i1,j1]:=a[i2,j2];
a[i2,j2]:=h;
end;
j1:=j2;
i1:=i2;
inc(j2);
if j2>n then begin
j2:=1;
inc(i2);
end;
if i2>n then begin i1:=1;j1:=1;i2:=1;j2:=2;end;
end;


for i:=1 to n do begin for j:=1 to n do begin write(a[i,j]:3);end;writeln;end;
end.

46K
23 февраля 2009 года
Bender ™
16 / / 23.02.2009
Ребята, помогите написать программу. Задание следующее: найти наибольший из минимальных элементов каждого столбца матрицы А и его координаты в матрице!
Заранее спасибо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог