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

Вниз

Вычисление значения функции разложением в ряд с точностью N   Найти похожие ветки 

 
TUser ©   (2011-08-03 15:15) [40]


> Думкин ©   (03.08.11 14:23) [37]
>
> > TUser ©   (03.08.11 14:11) [36]
>
> Ну, код для разного пишется. Если такое в черном ящике держать
> в полной уверенности его качества - то пусть там хоть как
> написано будет.
>

Речь не только про конкретный код, а про общую эффективность работы программиста - см. [15], если есть очевидный вариант без рекурсии, то в 99% предпочтителен он.


 
Sha ©   (2011-08-03 15:16) [41]

> MBo ©   (03.08.11 15:08) [39]

Ага, мне тоже не нравится. Но имя это дано нам от Борланда )
Гораздо больше удручает имя стартовой позиции в оригинале.
О значении результата, когда она не пожительна, даже говорю.


 
Sha ©   (2011-08-03 15:25) [42]

> Но имя это дано нам от Борланда )

Тут я не прав.


 
Sha ©   (2011-08-03 15:42) [43]

При переписывании кода [20] [26] [35] было потеряно обнуление счетчика, надо так:

function MyPosEx2(const SubStr, S: AnsiString; Start: integer= 1): integer;
var
 SubLen, LastPos, Count: integer;
begin;
 SubLen:=Length(SubStr);
 LastPos:=Length(S)+1-SubLen;
 Count:=0;
 if (SubLen>0) and (Start>0)
 then while (Start<=LastPos) and (Count<SubLen) do
        if SubStr[Count+1]=S[Count+Start]
        then inc(Count)
        else begin;
          inc(Start);
          Count:=0;
          end;
 Result:=Start;
 if Count<SubLen then Result:=0
 end;

function MyPosEx3(const SubStr, S: AnsiString; Start: integer= 1): integer;
var
 SubLen, LastPos, Count: integer;
begin;
 SubLen:=Length(SubStr);
 LastPos:=Length(S)+1-SubLen;
 Count:=0;
 if (SubLen>0) and (Start>0)
 then while true do
        if SubStr[Count+1]<>S[Count+Start]
        then begin;
          inc(Start);
          Count:=0;
          if Start>LastPos then begin;
            Start:=0;
            break;
            end;
          end
        else begin;
          inc(Count);
          if Count>=SubLen then break;
          end
 else Start:=0;
 Result:=Start;
 end;



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

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

Наверх




Память: 0.54 MB
Время: 0.016 c
2-1312416987
Псарь
2011-08-04 04:16
2011.11.27
Архитектура в CAD-системе. Изображения.


2-1312739542
KLSA
2011-08-07 21:52
2011.11.27
Аля image editor


2-1312203505
Guest1
2011-08-01 16:58
2011.11.27
drag and drop из webbrowser в listbox


2-1312459872
ixen
2011-08-04 16:11
2011.11.27
Firebird, Поток и DeadLock


2-1312295124
Tim
2011-08-02 18:25
2011.11.27
ресурсы в длл