Вниз
Скачать: CL | DM;

Пожалуйста, помогите найти ошибку!   Найти похожие ветки 

← →
Gerew   (2007-03-16 11:20) [0]

Написал функцию бинарного поиска на паскале и на си.
Эта функция на си почему всегда возвращает значение true!
в чем дело?

function Find(x,l,r: int): boolean;
var  mid: int;
begin
    while l<=r do begin
      mid:=(l+r) shr 1;
      if b[mid]<x then r:=mid-1
      else
      if b[mid]>x then l:=mid+1
      else begin
        find:=true;
        exit;
      end;
    end;
    find:=false;
end;

bool find(int x, int l, int r){
int mid;
while (l<=r) {
 mid=(l+r) >> 1;
 if (b[mid]=x) return 1;
 if (b[m]<x) r=mid-1;
 if (b[m]>x) l=mid+1;
}
return 0;
}


← →
TUser ©   (2007-03-16 11:24) [1]


>  if (b[m]<x) r=mid-1;
>  if (b[m]>x) l=mid+1;

b[mid] ??


← →
Manic Mechanic ©   (2007-03-16 11:25) [2]

Там ошибка


← →
z-z-z   (2007-03-16 11:34) [3]

> if (b[mid]=x) return 1;
if (b[mid]==x) return 1; ?


← →
icWasya ©   (2007-03-16 11:34) [4]

найдите 10 отличий

if (b[mid]=x) return 1;

if (b[mid]==x) return 1;


← →
TUser ©   (2007-03-16 11:38) [5]

Опс, это и у меня всегда так. С равенствами на си.


← →
Ega23 ©   (2007-03-16 11:38) [6]


> Опс, это и у меня всегда так. С равенствами на си.


Такая же фигня.


← →
wicked ©   (2007-03-16 11:45) [7]

> TUser ©   (16.03.07 11:38) [5]
> Ega23 ©   (16.03.07 11:38) [6]
пользуйтесь правильными компиляторами... вот borland c тут warning даст "а может вы сравнить хотели, а не присвоить?"


← →
TUser ©   (2007-03-16 11:54) [8]

> wicked ©   (16.03.07 11:45) [7]

Не выйдет. Я на си не пишу, а проблема возникает раз в пару месяцев на JavaScript.


← →
Думкин ©   (2007-03-16 11:57) [9]

А в Х++ такое и не проканает:
if(ret=4) ret = 5;

А вот в ПХП все, что угодно проканает и даже иногда работать будет. :(



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
6-1161374305
DillerXX
2006-10-20 23:58
2007.04.08
Помогите с WinINet ом... :(


2-1174140292
sat
2007-03-17 17:04
2007.04.08
TChart


2-1174142625
Roman_S
2007-03-17 17:43
2007.04.08
Как создать/удалить ярлык на рабочем столе?


3-1167918930
_ozzy_
2007-01-04 16:55
2007.04.08
Как упаковать файл Paradox?


6-1161583477
Makhanev Alexander
2006-10-23 10:04
2007.04.08
Блокирвоание url ов...




   Наверх