Bokul,
вот такой код получился (код тестовый, поэтому в нем присутствуют
директивы условной компиляции {$ifdef}...{$else}...{$endif}, за объяснениями - по ссылке)...
Нажмите для просмотра прикрепленного файлаЧтобы прогнать тестовое значение, и посморреть правильность работы алгоритма достаточно определить условный символ TEST_SMALL (добавлением строки
{$define TEST_SMALL} в начало программы, сейчас она уже добавлена), при этом на печать будет выведена и исходная матрица, и массив, и результат, т.е. все позиции элементов в матрице. Для тестирования на скорость (при больших массивах) эту строчку надо либо удалить, либо между символами { и $ добавить пробел (тогда эта строка превратится в комментарий), и
перекомпилировать программу (!!!), и программа будет тестироваться с большими значениями, БЕЗ вывода на печать, только сам процесс поиска. То же самое касается и автора - с определенным __BOKUL будет выполняться алгоритм
Bokul-а, иначе - мой...
Вот что выдала программа у меня:
Цитата(Console)
Volvo:
391
Bokul:
11356
(кстати,
Bokul, при TEST_SMALL внимательно посмотри на результаты работы своего алгоритма. Есть подозрение, что он находит элементы неправильно, ибо на показанных местах в матрице стоят также и НЕ присутствующие в массиве элементы)...