Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #2  
Старый 06.03.2008, 12:07
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Предлагаю такой вариант.

Код:
Var
 Massiv:array of byte;//Где ищем
 Finder:array [1..255] of byte; //Что ищем
 NumElements:integer; //Количество элементов в массиве
 LengthFinder:byte; // Длина массива, который ищем
 I:integer;
 CountFinder:integer; //количество итераций поиска
 j:byte;
 MassivFound:boolean;
begin
NumElements:=1000000;
SetLength(Massiv,NumElements);
//Запролняем массив
For I:=0 to NumElements-1 do
 begin
  Massiv[i]:=Random(255);
 end;
//Теперь возьмем и запишем в Massiv нужную нам комбинацию (для примера)
Massiv[333500]:=40;
Massiv[333501]:=41;
Massiv[333502]:=42;
Massiv[333503]:=43;
Massiv[333504]:=44;
Massiv[333505]:=45;

LengthFinder:=6; //Количесво искомых элементов
CountFinder:=NumElements-LengthFinder;
//заполним искомый массив
Finder[1]:=40;
Finder[2]:=41;
Finder[3]:=42;
Finder[4]:=43;
Finder[5]:=44;
Finder[6]:=45;
MassivFound:=False;
 For I:=0 to CountFinder-1 do
  begin
   if Massiv[i]=Finder[1] then   //Если элемент массива совпал с первым элементом поисковой строки
      begin
      MassivFound:=True;
       for J:=1 to LengthFinder do
        if Massiv[I+J-1]<>Finder[j] then
               begin
               MassivFound:=False;
               Break;
               end;
      end;
      If MassivFound=True then Break;
  end;

 if MassivFound=True then
       ShowMessage('Found at '+IntToStr(I)+' position')
       else ShowMessage('Not Found');end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.

Последний раз редактировалось Thrasher, 06.03.2008 в 12:20.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:50.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025