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

массив, упорядоченный по убыванию - C++

Восстановить пароль Регистрация
 
katerinaа
80 / 13 / 0
Регистрация: 19.03.2012
Сообщений: 258
Записей в блоге: 1
21.11.2013, 19:29     массив, упорядоченный по убыванию #1
Дан массив, упорядоченный по убыванию { 16, 13, 12, 8,5,4,1,-1,-2,-5}. Написать функцию, которая возвращает индекс первого элемента, меньшего числа N, которое передается в эту функцию в качестве параметра. Если такого элемента нет, функция должна возвращать -1.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 19:29     массив, упорядоченный по убыванию
Посмотрите здесь:

C++ Массив: Сформируйте массив C[n+m], состоящий из элементов массивов А и В, упорядоченный по возрастанию.
C++ Циклический двунаправленный список, упорядоченный по убыванию
Упорядоченный массив C++
В массив, упорядоченный по убыванию значений элементов, добавить новое число так, чтобы не нарушить упорядоченность C++
C++ Включить новый элемент в массив, упорядоченный по возрастанию, с сохранением упорядоченности. (рандомный массив)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
21.11.2013, 19:52     массив, упорядоченный по убыванию #2
Тут в этой задаче типа бинарный поиск подразумевается? Потому что если это явно не оговаривается, то проще всего новичку сделать линейный. Однако условие сортированности массива прям вопит о том, что хорошо и оптимально сюда подойдет, конечно именно бинарный поиск!
katerinaа
80 / 13 / 0
Регистрация: 19.03.2012
Сообщений: 258
Записей в блоге: 1
21.11.2013, 20:09  [ТС]     массив, упорядоченный по убыванию #3
Kuzia domovenok,

Вы мне не поможете?)
LuxArt
33 / 20 / 2
Регистрация: 14.11.2013
Сообщений: 85
21.11.2013, 21:02     массив, упорядоченный по убыванию #4
katerinaа, Держи, а то еще получишь двойку
Функция ищет элемент самым простым линейным поиском

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
#include <iostream>
using namespace std;
 
int Index(const int *arr,  int size,  int N)
{
    for (int i=0; i<size; i++)
        if (arr[i] < N)
            return i;
 
    return size;        //
}
 
 
int main()
{
    int     arr[] = { 16, 13, 12, 8, 5, 4, 1, -1, -2, -5};
    int     index;
    int     N;
 
    cout << "N --> ";
    cin >> N;
 
    index = Index(arr,  sizeof(arr)/sizeof(arr[0]),  N);
 
    cout << index << endl;
 
    return 0;
}
katerinaа
80 / 13 / 0
Регистрация: 19.03.2012
Сообщений: 258
Записей в блоге: 1
21.11.2013, 21:14  [ТС]     массив, упорядоченный по убыванию #5
Цитата Сообщение от LuxArt Посмотреть сообщение
katerinaа, Держи, а то еще получишь двойку
Функция ищет элемент самым простым линейным поиском

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
#include <iostream>
using namespace std;
 
int Index(const int *arr,  int size,  int N)
{
    for (int i=0; i<size; i++)
        if (arr[i] < N)
            return i;
 
    return size;        //
}
 
 
int main()
{
    int     arr[] = { 16, 13, 12, 8, 5, 4, 1, -1, -2, -5};
    int     index;
    int     N;
 
    cout << "N --> ";
    cin >> N;
 
    index = Index(arr,  sizeof(arr)/sizeof(arr[0]),  N);
 
    cout << index << endl;
 
    return 0;
}



спасибо, спасибо, спасибо 100 раз)
Yandex
Объявления
21.11.2013, 21:14     массив, упорядоченный по убыванию
Ответ Создать тему
Опции темы

Текущее время: 03:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru