Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

массив и индесы [D7, XP]


hahol_64_rus ©   (2008-03-25 01:30:00) 

привет мастерам
вот вопросик
есть массив  , состоит из символов
как например проверить есть ли в этом массиве определенный символ и узнать его индекс
возможно ли это без перебирания всего массива


Anatoly Podgoretsky   (2008-03-26 01:57:00) [1]

> korneley  (26.03.2008 00:24:18)  [18]

Ну на то мы и телепаты.


korneley   (2008-03-26 00:24:00) [2]


> дал правильноерешение
При всём уважении, но это как же телепатировать надо! "Неблагодарное это занятие - бить красных" (с)


Anatoly Podgoretsky   (2008-03-25 23:59:00) [3]

> Семеныч  (25.03.2008 22:57:15)  [15]

Ладно не хочу тебя пытать через длину, тем более, что дал правильное решение через множество, оно как раз для подобного и предназначено, конечно если у него AnsiChar


korneley   (2008-03-25 23:35:00) [4]


> как например проверить есть ли в этом массиве определенный
> символ и узнать его индекс

А строка не массив символов? В широком понимании этого слова (массив). Просто pos(). И если не ноль, то и индекс... :) Повторные включения - отдельный случай.


Семеныч   (2008-03-25 22:57:00) [5]

> Anatoly Podgoretsky ©   (25.03.08 21:57) [13]

Не поверишь - по длине.
:о)

А вообще, для того, чтобы рассматривать эту возможность и способы ее реализации, нужно знать задачу (о чем и было сказано). Возможно, здесь лучше подойдет даже и не массив, а множество. Мы не знаем деталей.


Anatoly Podgoretsky   (2008-03-25 21:58:00) [6]

Есть конечно еще один вариант, без признака и не boolean.


Anatoly Podgoretsky   (2008-03-25 21:57:00) [7]

А как ты отличишь наличие или отсутствие символа в массиве без наличия признака

>  то можно индекс массива сделать типа char.

У тебя будет массив на 256 символов и отсутствие инфорамации, или ты предлагаешь массив типа boolean - тогда извиняюсь.


Семеныч   (2008-03-25 18:02:00) [8]

> Anatoly Podgoretsky ©   (25.03.08 13:59) [11]

?


Anatoly Podgoretsky   (2008-03-25 13:59:00) [9]


> Если позволяет задача, то можно индекс массива сделать типа
> char. Тогда ни перебирать, ни сортировать ничего и вовсе
> не придется.

Предлагаешь потерять один символ из набора 0..255 или 0..65535


TUser   (2008-03-25 07:36:00) [10]

result := length (YourArray) > 0;
if result then
 YourArray [0] := YourSymbol;


Ega23   (2008-03-25 06:42:00) [11]

Почитай про Ord и чуть-чуть подумай.


Германн   (2008-03-25 02:48:00) [12]


> хатяб принцип обьесните

Не прочитал вовремя! Если бы прочитал, то не ответил бы.


hahol_64_rus   (2008-03-25 02:17:00) [13]

спс


Семеныч   (2008-03-25 02:16:00) [14]

Если позволяет задача, то можно индекс массива сделать типа char. Тогда ни перебирать, ни сортировать ничего и вовсе не придется.


Германн   (2008-03-25 02:09:00) [15]

http://algolist.manual.ru/search/index.php


hahol_64_rus   (2008-03-25 02:03:00) [16]

да он отсортирован

там символы от А до Я

каким образом ускорить

хатяб принцип обьесните

алгоритм сам до телепаю .... наверно


Германн   (2008-03-25 01:57:00) [17]


> guav ©   (25.03.08 01:46) [2]

Если массив отсортирован, то можно "ускорить" процесс нахождения нужного элемента массива. Но не более того.
Но думаю, что автор вопроса просил "готовое решение", чтобы меньше самому писАть. И такое решение есть. Но я (как и Баба Яга) против. :)


guav   (2008-03-25 01:46:00) [18]

иногда можно и без полного перебора, например, если известно, что массив отсортирован. в общем случае - нет.


Германн   (2008-03-25 01:42:00) [19]


> hahol_64_rus   (25.03.08 01:30)
>
> привет мастерам
> вот вопросик
> есть массив  , состоит из символов
> как например проверить есть ли в этом массиве определенный
> символ и узнать его индекс
> возможно ли это без перебирания всего массива
>

Нет, если его там (в массиве) нет. И да, если он там есть, но не является "крайним" в массиве.


Наверх

Титульная страница Поиск, карта сайта Написать письмо