Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Laertik
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 19
#1

STRCMP - C++

19.05.2013, 17:14. Просмотров 545. Ответов 2
Метки нет (Все метки)

Как работает функция strcmp?
strncmp?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    while(L<R)
    {
        m=(L+R)/2;     
        if(!strncmp(base[a[m]].a,key,3))
        {
            found[m]=1;
            break;
        }
        if(strcmp(base[a[m]].a,key) < 0)
            L=m+1;
        else
            R=m-1;
    }
Попыталя пройти двоичным поиском по записи,но ничего не вышло...
Проблема именно в
C++
1
if(strcmp(base[a[m]].a,key) < 0)
- что-то делает не так.По записи совсем не двигается,либо двигается, но уходит совсем не туда
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 17:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос STRCMP (C++):

strcmp - C++
slovo={'d','d','d'}; char *slovo2=new char; for(int i=0;i&lt;k;i++) { cin&gt;&gt;slovo2; } int s=strcmp(slovo2,slovo); и ввожу...

strcmp() - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstring&gt; using namespace std; int main() { ...

strcmp - C++
Не могу понять, как правильно прировнять два слова. КОгда компилирую и ввожу слово, програма самостаятельно закрываеться, точне...

Strcmp - C++
Пользуюсь Visual Studio 2013. Читай книжку, выполняю примеры. Там есть пример с использованием strcmp и сказано подключить &lt;cstring&gt;. У...

strcmp - C++
Вот изучаю С++, тут столкнулся с простой проблеммой, функция strcmp,которая проверяет на равенство 2 строки между собою. Попробывал...

Функция strcmp - C++
Имеется три числа num1, num2 и det. Как используя функцию strcmp определить принадлежит ли число det, промежутку num1, num2?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
19.05.2013, 17:23 #2
Laertik, сравнивает две строки посимвольно, ваш КЭП. Если строки равны, то возвращает 0. Если первый несовпавший символ первой строки больше лингвистически (допустим, "б" больше "а", ибо алфавит и все дела), то возвращает положительное число, равное разнице "б"-"а"=1, иначе "а"-"б"=-1 - вторая строка "больше" первой.

*с возвращаемым результатом (с его знаком) мог напутать, но суть вы должны были уловить*
0
Laertik
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 19
19.05.2013, 18:38  [ТС] #3
Кэпу спасибо,а етм не менее в коде где-то ошибка.Помогите пожалуст найти
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2013, 18:38
Привет! Вот еще темы с ответами:

функция strcmp - C++
какое бы не было nazv_otdela всегда пишет равны как лечить? void predpri9tie::zad() { cout&lt;&lt;&quot;vvedite nugniy otdel&quot;&lt;&lt;endl; ...

Функция strcmp - C++
Скажите пожалуйста,по какой причине,если указатель b- это символ &quot;P&quot;, функция strcmp может возвращать не 0? ...

strcmp не работает! - C++
Ниже изложенная функция должна проверять не выходит ли за данный диапазон введенное число. Загвоздка вот в чем: strcmp сравнивает строки...

Не работает strcmp - C++
Подскажите, пожалуйста, условие не срабатывает (14 строка), хотя должно visits++ делать. В строке tmp_month находится строка &quot;Sep&quot;. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru