Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти минимальный элемент в двумерном массиве? [D7, XP]


Andrewmx ©   (2005-11-11 15:30:00) 

Как найти минимальный элемент в двумерном массиве? Подскажите пожалуйста.


SergP.   (2005-11-12 09:57:00) [1]


> SergP ©   (12.11.05 09:52) [14]


Либо проще:


...
type
 MySuperPuperType=array[0..9999] of integer; // кол-во элементов в этом
 //описании массива должно соврпадать с кол-вом элементов в твоем массиве
...
...
var
a:integer;
begin
a:=minintvalue(MySyperPuperType(res));
...


SergP   (2005-11-12 09:52:00) [2]


> Andrewmx   (11.11.05 15:55) [6]
> Minintvalue в одномерном, мне в двумерном нужно.
>
> вот мой массив
> res:array[0..99,00..99] of integer;


если не знаешь как самому написать поиск числа, а хочешь воспользоваться стандартными функциями, то заставь Minintvalue думать что твой массив одномерный ...

типа так:


...
type
  MySuperPuperType=array[0..9999] of integer; // кол-во элементов в этом
  //описании массива должно соврпадать с кол-вом элементов в твоем массиве
...
...
var
 a:integer;
 z:^MySuperPuperType;
begin
 z:=@res; // res - это твой двухмерный массив [0..99,0..99]
 a:=minintvalue(z^);
...


если я нигде не ошибся то по идее должно работать...


Andrewmx   (2005-11-12 09:12:00) [3]

А если кто хорошо работает с матрицами то постучитесь мне в icq 288608091 есть разговор!


Andrewmx   (2005-11-12 04:42:00) [4]

Спасибо большое!


serko   (2005-11-11 20:19:00) [5]

Делай так:


<\code>
Min:=res[1,1];
st:=1; sb:=1;
For i:=1 to n do
    for j:=1 to m do
         if min>res[i,j] then
                            begin
                                   min:=res:=[i,j];
                                   st:=i;
                                   sb:=j;
                             end;

min - это минимальный элемент массива Res
St - строка в которой находится min
sb- столбец ----||----


Fl@sh   (2005-11-11 19:51:00) [6]


> Tonich ©   (11.11.05 17:37) [9]


Всегда так делал в подобных случаях
Жаль, не знал раньше про
> Minintvalue в одномерном


Tonich   (2005-11-11 17:37:00) [7]

в самом простом случаи методом перебора...

Сделай двойной цикл и пробегай все элементы массива сравнивая их.
на первом шаге просто присвой какой-то переменной первое значения твоего массива, а затем если оно окажется больше текущего значения массива, просто переприсвоишь его и все


Andrewmx   (2005-11-11 17:22:00) [8]

Ну да я незнаю как сделать :(


Digitman   (2005-11-11 16:00:00) [9]

и какие трудности ?

или "дай код" ?)


Andrewmx   (2005-11-11 15:55:00) [10]

Minintvalue в одномерном, мне в двумерном нужно.

вот мой массив
res:array[0..99,00..99] of integer;


wal   (2005-11-11 15:53:00) [11]

А как в одномерном найти в курсе?


Digitman   (2005-11-11 15:53:00) [12]

и тип массива ты тоже не сподобился указать ...


Andrewmx   (2005-11-11 15:35:00) [13]

Извините integer


Andrewmx   (2005-11-11 15:35:00) [14]

все >0


Digitman   (2005-11-11 15:31:00) [15]

ты хоть бы сподобился что ли указать, какого типа элементы массива ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо