|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vovanius Uryvaeff 2:5020/175.2 09 Oct 2002 19:16:20 To : Pavel P Subject : Re: Алгоритм -------------------------------------------------------------------------------- Wed Oct 09 2002 08:56, Pavel P wrote to Alexey Desyatnik: >> > Дан массив A[m,n] Известно, что среди его эл-тов >> > всего 2 равны между собой. Hапечатать их индесксы. >> procedure Find_Duplicates( >> P.S. Hаверняка язык незнаком... :) Это чтоб было не слишком просто. PP> Язык програмирования Ада. Hе зря так назван :))) PP> Проще надо быть ... проще ... :) PP> //--- CUT ------------------------------------------------- PP> find_Duplicates arr = find_item_y 0 arr ((limit o sort o flatten) arr) PP> where PP> find_item_y _ [] _ = [] PP> find_item_y y [h:t] z = find_item_x y 0 h z ++ find_item_y (y + 1) PP> t z PP> find_item_x _ _ [] _ = [] PP> find_item_x y x [h:t] z = (if (h == z) [(x,y)] []) ++ find_item_x y PP> (x + 1) t z PP> Start = find_Duplicates arr PP> where PP> arr = [[1, 2, 3, 4], [5, 6, 7, 8], [11, 10, 9, 11]] Компактней надо! И будет совсем просто! : Find.Dups ( a n m - ) LOCAL| A M E | DUP TO M * OVER TO A OVER + SWAP OVER TO E DO E I CELL+ ?DO I @ J @ = IF I A - M /MOD SWAP . . J A - M /MOD SWAP. . CR THEN LOOP LOOP ; CREATE arr 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 11 , 10 , 9 , 11 , arr 4 3 FindDups :) EMail send to vovanius<yxo>xakep.ru, please. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33006912110b.html, оценка из 5, голосов 10
|