![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Доброе время суток....
Есть такое дело.... Есть у меня ряд чисел 1,2,3,4,5,6,7,8,9. Это естессно индексы массива.... Итак, мне надо получить по индексу элемента массива - номер элемента с которым надо сравниться.... 1 -> 7 2 -> 8 3 -> 9 4 -> 7 5 -> 8 6 -> 9 Шаг известен.... Задачу я упростил, конечно, в общем виде сложнее.... Как получить эту замечательную зависимость? То есть там видно, что через 3 элемента сравнивается.... Что-то типа функции f(1 - засылаемый индекс) = 7 f(4) = опять-таки 7 Все хожу вокруг да около..... А придумать не получается.... Посоветуйте чего-нибудь... может стандартное что есть? div пробовал, что-то не то с ним..... |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
нифига я не понял.... что, элементы повторяются?
т.е.
так, что ли? если да, то. 1. насчёт функции y = f(x) - всё правильно. только надо было брать не div, а mod - тебе же, по сути, остаток нужен? 2. период у тебя 4, значит надо брать x mod 4. и прибавлять 1, т.к. у тебя индексация начинается с нуля. 3. надо учитывать, что когда у тебя x < 4, x mod 4 даст x. чтоб такого не было, надо x делать заведомо больше четырёх. путём прибавления к нему 3 (твой шаг между повторяющимися элементами). на результате это не скажется, т.к. остаток от деления будет тем же. в конечном итоге имеем: (x + 3) mod 4 + 1; 4. таким образом любой индекс будет сведён к первым трём. останется получить значение элемента по этому индексу: f := Mas [(x + 3) mod 4 + 1]; меняя шаг (3) и период (4), можно свести любую повторяющуюся последовательность к первым её неповторяющимся элементам. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Maverick |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Почему 4? 3? Индексация с единицы идет.....
Об самих элементах речь не идет..... Только индексы.... Массив линейный....
Вот это где-то близко.... Копаю, спасибо.... Истина где-то рядом.... |
||||||
|
|||||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Maverick, извини меня, дурака, просто в твоём изложении я задачу не понял. ты объясни толком, что нужно?
мой код позволит получить то, что ты привёл в примере. через каждые три индекса значения начинают повторяться. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Сорри за изложение... устал, наверно..... Значит, я пытался упростить.... Даю полное изложение.... Есть таблица на самом деле - вот такая.... 1 2 3 4 5 6 7 8 9 - это индексы 5 10 15 0 0 0 0 0 0 - это значения.... 7 77 77 8 9 11 0 0 0 7 5 5 5 7 9 7 3 2 Ну примените фантазию.... Таблица не очень ровная получилась... Но вообще-то она 3х9... Жирные элементы ключевые.... Курсивные элементы зависимые.... Мне необходимо сравнить курсивные с жирными.... Например в третьей строке - элемент №1 сравнивается с элементом №7, и элемент №4 тоже с ним..... элемент №2 с элементом №8, элемент №5 с элементом №8.... Повторюсь - это третья строка.... Во второй строке соответственно №1 с №4, №2 с №5.... Толщина так сказать главной диагонали будет зависеть от количества строк.... В этом примере - толщина 3.... Это пример.... таблица всегда произвольная...... Но все элементы справа сравниваются с подобием главной диагонали.... Не уверен, что понятнее получилось..... Это сообщение отредактировал(а) Maverick - 5.4.2004, 19:46 |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Решил.... mod применил.... x77, спасибо....
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |