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

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

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

Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии - C++

16.01.2009, 00:19. Просмотров 652. Ответов 4
Метки нет (Все метки)

Доброго времени суток.Делаю первые шаги в программировании и встала задача,которую не могу решить,надеюсь поможите,заранее искренне благодарю

Условие:

VC++6

В матрице A[m][n] все строки и столбцы упорядочены по неубыванию. Найти элемент массива,равный заданному числу Х или сообщить о его отсутствии.Число действий в решении должно быть порядка m+n (а не порядка m*n)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2009, 00:19     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии
Посмотрите здесь:

Найти элемент массива, равный заданному числу Х и отпечатать его индексы (I,J) C++
C++ Найти элемент массива наиболее близкий к заданному числу.
C++ Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер.
C++ Есть ли в данном массиве элемент, равный заданному числу? Если есть, то вывести номер одного из них.
Найти первый элемент массива, кратный заданному числу C++
C++ Найти элемент массива, равный заданному числу Х и отпечатать его индекс
C++ Каждый равный нулю элемент массива заменить полусуммой его соседних элементов
Найти элемент массива который наименее близок к заданному числу C++
C++ Найти элемент массива, который наиболее близок к заданному числу R
Найти количество элементов массива, равных заданному числу C++
C++ По заданному натуральному числу найти его корень, печатая все промежуточные результаты
Реализовать функцию, проверяющую, есть ли в массиве целых чисел элемент, равный заданному числу C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
16.01.2009, 01:03     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии #2
может бинарный поиск прокатит.
Mireashnik
0 / 0 / 0
Регистрация: 16.01.2009
Сообщений: 3
16.01.2009, 01:05  [ТС]     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии #3
да,уже советовали применить этот способ,вот только к сожалению почитав его описание так и не смог его применить,вот и прошу помощи
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
16.01.2009, 01:27     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вот для одномерного массива
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
36
37
38
/*************************************************************************
Поиск в упорядоченной последовательности первого элемента,
не меньшего, чем T.
 
Параметры:
arr - упорядоченный по возрастанию массив элементов с
индексами от 0 до N-1
T - искомый элемент
 
Результат:
Индекс самого первого элемента, не меньшего T. В случае,
если таких элементов в массиве нет, возвращается N.
*************************************************************************/
int arrBinarySearch(int *arr,int t)
{
    int l = static_cast<int>(_msize(arr)/sizeof(int));
    int result;
    int half;
    int first = 0;
    int middle;
 
    while(l>0)
    {
        half = l/2;
        middle = first+half;
        if( arr[middle] < t )
        {
            first = middle+1;
            l = l-half-1;
        }
        else
        {
            l = half;
        }
    }
    result = first;
    return result;
}
Добавлено через 11 минут 53 секунды
наверно для корректного результата следует ето
C++
1
result = first;
заменить на
C++
1
2
3
4
if(arr[first] != t)
    result = static_cast<int>(_msize(arr)/sizeof(int));
else
    result = first;
Mireashnik
0 / 0 / 0
Регистрация: 16.01.2009
Сообщений: 3
16.01.2009, 01:36  [ТС]     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии #5
Буду пробовать разобраться))
Yandex
Объявления
16.01.2009, 01:36     Найти элемент массива, равный заданному числу Х или сообщить о его отсутствии
Ответ Создать тему
Опции темы

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