Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
8 / 0 / 0
Регистрация: 03.02.2015
Сообщений: 1
1

Как получить индекс элемента массива с bsearch?

03.02.2015, 19:48. Показов 1428. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
 
int cmp (const int *i, const int *j) {
    return *i - *j;
}
 
int numeric(int *p1, int *p2)
{
    return(*p1 - *p2);
}
 
int main(int argc, const char * argv[]) {
    
    int a[] = {3, 2, 1, 0, -100, -32, 31, -31};
    for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
        printf("%d ", a[i]);
    }
    qsort(a, sizeof(a) / sizeof(int), sizeof(int), cmp);
    puts("");
    for (int i = 0; i < sizeof(a) / sizeof(int); i++) {
        printf("%d ", a[i]);
    }
    
    int *p;
    int c = 0;
    p =(char *) bsearch(&c, a, sizeof(a) / sizeof(int), sizeof(int), numeric);
 
    if (bsearch(&c, a, sizeof(a) / sizeof(int), sizeof(int), numeric)) {
        puts("YES");
    } else {
        puts("NO");
    }
    return 0;
}
Массив после сортировки такой -100 -32 -31 0 1 2 3 31
Затем мне нужно найти какой индекс у элемента со значением 0 в данном массиве
Но проблема в том, что я только получаю указатель и по нему могу только определить входит этот элемент в массив или нет! А мне нужно индекс элемента
Подскажите пожалуйста как это сделать!

Добавлено через 42 минуты
Разобрался сам надо было из указателя на первый элемент массива вычесть указатель из bsearch!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.02.2015, 19:48
Ответы с готовыми решениями:

Как получить индекс элемента массива files по его имени
Вопрос в теме.

Получить индекс элемента одномерного массива, если известно значение элемента (без цикла)?
Получить индекс элемента одномерного массива, если известно значение элемента (без цикла)? То...

Получить индекс минимального элемента массива
есть массив Как получить ключ минимального значения?

Как получить индекс элемента в ListBox
Как получить индекс элемента списка : 1.по его значению (текст), 2.по его позициии (List,...

0
03.02.2015, 19:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.02.2015, 19:48
Помогаю со студенческими работами здесь

Как получить индекс выбранного элемента в ComboBox
Возникла маленькая проблемка... Есть таблица с которой считываются поля.. и при добавлении новой...

Как получить индекс выбранного элемента AutoCompleteCustom?
Добрый день, есть TextBox коллекция AutoCompleteCustom заполняется из БД. По сути контекстный поиск...

Bsearch не находит вхождение элемента в массиве
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; int compareMyType (const void * a,...

Как получить индекс предыдущего выделенного элемента в listbox?
Доброго всем дня. Например, Listbox отображает список людей. Люди - пользовательский тип данных...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru