| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Массивы |
| Автор: Алекс С. 4.9.2002, 01:16 |
| Как по значению члена массива узнать его индекс? |
| Автор: Mikel 4.9.2002, 02:42 |
| Просто просмотреть все элементы от минимального к максимальному и сравнить с твоим числом. Если есть более короткие пути, тогда скажите мне тоже. |
| Автор: Fantasist 4.9.2002, 05:46 |
| Держать элементы упорядоченными, и находить последовательным приближением. Для этого отдельный класс неплохо бы сделать. |
| Автор: Dapo 4.9.2002, 15:50 |
| В массиве может быть несколько одинаковых элементов. "...держать элементы упорядоченными..." - в програмировании очень мало моментов, когда массив можно (целесообразно) упорядочивать, как правило => неоднозначное соответствие с другими объектами. |
| Автор: Dapo 4.9.2002, 15:53 |
| И потом, если интересует именно индекс, то положение элементов вообще трогать нельзя. |
| Автор: Fantasist 5.9.2002, 02:28 | ||||||
Mожет быть, а может и не быть. Если задается такой вопрос, то наверное они там в единственном числе. Иначе надо находить все.
Универсальных решений нет, но это одно из них и в некоторых ситуациях весьма оправданно.
А все равно придется при удалении/вставке. Иначе у тебя будет постоянно растущий массив. Но это тоже все частности - зависит от ситуации. |
| Автор: adminlion 5.9.2002, 03:02 |
| Используйте TList или что-то в этом роде |
| Автор: MэG 12.6.2004, 12:35 |
| |
| Автор: Shishkin 12.6.2004, 12:42 |
| Это делается в двух строках, вот код: i:=0; for i:=1 to number_of_elements do if (a=massiv[i]) then index:=i; тогда переменная index и будет соответствующий индекс или будет равна 0, если нужного элемента в массиве нет. |
| Автор: youri 12.6.2004, 14:57 | ||||
Если элементы массива не повторяются, то можно воспользоваться следующим кодом
Если же элементы массива повторяются, и надо найти все элементы массива с заданным значением
|