С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Cout <<
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 8
#1

функция по поиску элемента - C++

21.04.2011, 18:27. Просмотров 398. Ответов 7
Метки нет (Все метки)

всем доброго времени суток )))

господа программисты помогите написать функцию
C++
1
2
3
4
5
6
7
8
9
10
const int* find(const int& val, const int* begin, const int* end);
 
   for(int i = 0;i < size; i++)
   {  if( begin[i]==end[i] )
           return 0;
       else
           if( begin[i] == val)
               return begin;
   }
}
функия производит поиск значения на промежутке [begin, end)
результатом есть указатель на елемент val или NULL;

я не до конца понимаю как получится передать указатели на begin и end в мейне
помогите кому не трудно
заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2011, 18:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос функция по поиску элемента (C++):

Не вызывается функция по поиску цифр из заданной строки - C++
Никак не могу найти,где ошибка! Вроде все работает, а вот функция по поиску цифр из заданной строки не вызывается.. #include&lt;iostream&gt; ...

Функция удаления элемента из дерева - C++
В данной программе реализовано почти все,кроме фунции удаления,которую я так и не смог реализовать. Руководствуюсь методами: -если это...

функция в си++ для удаления элемента - C++
Есть ли функция в си++ для удаления элемента,например из текста?) Запрещено создавать темы с бессмысленными названиями вроде...

Рекурсивная функция по удалению элемента - C++
Помогите пожалуйста написать рекурсивную функцию для удаления элемента списка, дан список книг, если встречается книга с тиражом более...

Функция добавления элемента в кольцевой список - C++
Здравствуйте. Возник такой вопрос. Как собственно реализовать добавление лемента в кольцевой список? В теории оно то понятно но на практике...

Функция удаления элемента односвязного списка - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; struct A { int key; };

7
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.04.2011, 18:52 #2
при ненайденном элементе возвращать лучше не NULL, а end:
http://www.cplusplus.com/reference/algorithm/find/
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
const int* find(const int* begin, const int* end, const int& val){
    for(; begin!=end; ++begin){
        if(*begin==val) break;
    }
    return begin;
}
 
int main(){
    int mas[]={1,2,3,4,5,6,7,8,9};
    const int* res=find(mas, mas+sizeof(mas)/sizeof(*mas), 2);
    std::cout<<"index= "<<res-mas<<"\n";
    return 0;
}
1
Cout <<
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 8
21.04.2011, 19:02  [ТС] #3
ИГОРЬ, спасибо тебе огромное

подскажи вот ещё что....
а если бы я захотел, что бы begin был 3, а end 8 элементом массива как тогда бы выглядел мейн ??
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.04.2011, 19:18 #4
begin тройка, end восьмёрка
C++
1
const int* res=find(mas+2, mas+sizeof(mas)/sizeof(*mas)-2, 6);
1
Cout <<
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 8
21.04.2011, 22:22  [ТС] #5
спасибо, Игорь, извени что достаю, но как это сделать в шаблонах
C++
1
2
template<typename T> 
const T* find(const T& val, const T* begin, const T* end);
вот для такой
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
21.04.2011, 22:28 #6
Cout <<,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
template<class T>
const T* find(const T& value, const T* begin, const T* end){
    for(; begin!=end; ++begin){
        if(*begin==val) break;
    }
    return begin;
}
 
int main(){
    int mas[]={1,2,3,4,5,6,7,8,9};
    const int* res=find(2, mas, mas+sizeof(mas)/sizeof(*mas));
    std::cout<<"index= "<<res-mas<<"\n";
    return 0;
}
1
Cout <<
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 8
22.04.2011, 00:14  [ТС] #7
а в мейне что ничего не поменялось ???

Добавлено через 21 минуту
я всё понял спасибо

Добавлено через 1 час 22 минуты
скажите пожалуйста, а что не так в этой функции

C++
1
2
3
4
5
6
7
8
9
10
const F* min( const F* begin, const F* end){
 double* m = 0;
    for(; begin!=end; ++begin)
    {
       
        if(*begin < *m)
            *m = *begin;
    }
    return m;
}
она должна искать наименьший элемент и возвращать указатель на этот елемент
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
22.04.2011, 12:17 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
 
template <class T>
    const T* min_element (const T* first, const T* last ){
    const T* lowest = first;
    if (first==last){
        return last;
    }
    while (++first!=last){
        if (*first<*lowest){
            lowest=first;
        }
    }
    return lowest;
}
 
int main(){
    int mas[]={9,8,7,-1,2,3,4,-5,6,7};
    std::cout<<*min_element(mas, mas+sizeof(mas)/sizeof(*mas))<<"\n";
    return 0;
}
1
22.04.2011, 12:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2011, 12:17
Привет! Вот еще темы с ответами:

Функция для нахождения минимального элемента - C++
Разработать функцию для вычисления минимального значения элементов одномерного целочисленного массива размерности n. С использованием...

Функция нахождения максимального элемента массива - C++
Разработать функцию нахождения максимального элемента массива и применить ее для двух массивов разной длины.

Не работает функция удаления элемента из списка - C++
Двунаправленный линейный список, состоящий из: имени автора, названия книги, года издания и названия издательства. #include &quot;stdafx.h&quot;...

Функция удаления последнего четного элемента - C++
Помогите, нужно составить функцию удаления из состава массива последний четный элемент.


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

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

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