Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.043 c
15-1173983756
Shmit
2007-03-15 21:35
2007.04.08
бизнес-планирование на Delphi


6-1161273743
Antoxa2005
2006-10-19 20:02
2007.04.08
Подскажите, как отловить подключение по локальной сети и если


15-1173732577
Неюрист
2007-03-12 23:49
2007.04.08
Заполнить бланк лицензии на программный продукт


15-1174021713
Tirael
2007-03-16 08:08
2007.04.08
Raid 0


6-1161591532
Axis_of_Evil
2006-10-23 12:18
2007.04.08
про TWSocket. дубль 2