Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти количество нулевых бит в строке, не считая нулевой символ в конце строки 
:(
    Опции темы
ДЫМ
Дата 7.3.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



Помогите решить задачу. 
Решить двумя способами (простым способом и быстрым способом) следующую задачу: написать
функцию, которая возвращает количество нулевых бит в строке (не считая нулевой символ в конце строки).
Простой способ понятен - перебираем все символы в строке, считаем количество встретившихся нулевых, но вот что за быстрый способ?
Помогите, с меня плюсик в репутацию.
PM MAIL WWW   Вверх
bems
Дата 7.3.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



ну можно заранее составить таблицу символов и соответствующих количеств бит. А потом щитать используя эту таблицу


--------------------
Обижено школьников: 8
PM MAIL   Вверх
ДЫМ
Дата 7.3.2008, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



Цитата

ну можно заранее составить таблицу символов и соответствующих количеств бит. А потом щитать используя эту таблицу


А поподробнее можно?
PM MAIL WWW   Вверх
bems
Дата 7.3.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Код

const counts:array [char] of byte=(8,7,7...);
var i,count:integer;
begin
count:=0;
for i:=1 to length(str) do
 inc(count,counts[str[i]]);
end;


Добавлено через 1 минуту и 25 секунд
а это (8,7,7...) можно сгенерить один раз другой программой и вставить в исходник smile


--------------------
Обижено школьников: 8
PM MAIL   Вверх
ДЫМ
Дата 7.3.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: 8
Всего: 8



Цитата

а это (8,7,7...) можно сгенерить один раз другой программой и вставить в исходник 


А откуда взялось это (8,7,7...)? Вообще, что это такое? Как его сгенерить - покажи.
PM MAIL WWW   Вверх
bems
Дата 10.3.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



ну в нулевом символе все 8 бит нулевые, в первим и втором их по 7 и тд. Сгенерировать их так же, как и в обычном ("не быстром") решении.
Цитата(ДЫМ @  7.3.2008,  13:17 Найти цитируемый пост)
Простой способ понятен - перебираем все символы в строке, считаем количество встретившихся нулевых
если тут тебе пи правда все понятно, то почему возникают такие вопросы?



--------------------
Обижено школьников: 8
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.