Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

массив и индесы   Найти похожие ветки 

 
hahol_64_rus   (2008-03-25 01:30) [0]

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


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


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

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


 
guav ©   (2008-03-25 01:46) [2]

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


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


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

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


 
hahol_64_rus   (2008-03-25 02:03) [4]

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

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

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

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

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


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

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


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

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


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

спс


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


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

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


 
Ega23 ©   (2008-03-25 06:42) [9]

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


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

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


 
Anatoly Podgoretsky ©   (2008-03-25 13:59) [11]


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

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


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

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

?


 
Anatoly Podgoretsky ©   (2008-03-25 21:57) [13]

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

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

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


 
Anatoly Podgoretsky ©   (2008-03-25 21:58) [14]

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


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

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

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

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


 
korneley ©   (2008-03-25 23:35) [16]


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

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


 
Anatoly Podgoretsky ©   (2008-03-25 23:59) [17]

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

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


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


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


 
Anatoly Podgoretsky ©   (2008-03-26 01:57) [19]

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

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



Страницы: 1 вся ветка

Текущий архив: 2008.04.20;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.017 c
2-1206555175
junkie
2008-03-26 21:12
2008.04.20
Excel процесс остается в памяти


15-1204656429
Fredy314
2008-03-04 21:47
2008.04.20
как можно создавая многотомный архив, создать только второй том?


15-1204791647
DiamondShark
2008-03-06 11:20
2008.04.20
Ура! Это всё-таки случилось.


2-1206612850
nicky000
2008-03-27 13:14
2008.04.20
ConnectDialog


15-1204730152
dmitry_12_08_74
2008-03-05 18:15
2008.04.20
Требования к курсорам для совместимости с разными версиями Window