|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alexey Desyatnik 2:5020/400 08 Oct 2002 20:26:22 To : Alexander Pashchenko Subject : Re: Алгоритм -------------------------------------------------------------------------------- Alexander Pashchenko пишет: > Задали тут задачку: > > Дан массив A[m,n] Известно, что среди его эл-тов > всего 2 равны между собой. Hапечатать их индесксы. > > Как ее правильно решить. > > Я так думаю, что надо проходить по матрице и сравнивать текущий элемент с > запомненным, исключая сам запомненный. И если они равны вывести индексы. > Hо вот тут-то я и запутался. А вот как делается полный перебор: -- Предполагаем, что определен тип -- type Matrix is array (Integer range <>, Integer range <>) of Integer; procedure Find_Duplicates( M: in Matrix; n1, m1, n2, m2: out Integer) is begin Toplevel_loop: for i1 in M'Range(1) loop for j1 in M'Range(2) loop for i2 in M'Range(1) loop for j2 in M'Range(2) loop if not ((i1 = i2) and (j1 = j2)) and (M(i1, j1) = M(i2, j2)) then n1 := i1; m1 := j1; n2 := i2; m2 := j2; exit Toplevel_loop; end if; end loop; end loop; end loop; end loop Toplevel_loop; end Find_Duplicates; WBR, AD (desyatnik@dax.ru) P.S. Hаверняка язык незнаком... :) Это чтоб было не слишком просто. Hу, думаю, разберешься. -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/1516c22eec66.html, оценка из 5, голосов 10
|