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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 16:20     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #1
Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию(в данном случае используется указатель на бинарный предикат).Иначе возвращает адрес arr+len.
C++
1
2
3
4
5
6
7
8
9
10
11
12
int equals(int a,int b)
{ return (a==b); }
 
int * Find(int * Arr,int len,int k,int (*pfun(int,int)))  //k-заданное число,с которым сравниваем
{ int i;
  for (i=0;i<len;i++)
  if(pfun(k,Arr[i])) {                                                    
      cout<<"element Arr["<<i<<"]=";
      return &(Arr[i]);
                      break;}
  if(pfun(k,Arr[i])==false) return &(Arr+len);
}
Ошибки:
error C2102: '&' requires l-value
error C2664: 'Find' : cannot convert parameter 4 from 'int (__cdecl *)(int,int)' to 'int *(__cdecl *)(int,int)'
Всё перепробовала,но не могу понять,что не так >.<

Добавлено через 16 часов 46 минут
никаких идей?т_т
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 16:20     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию
Посмотрите здесь:

может ли указатель показывать на последний элемент массива, а не на первый??? C++
В массиве Х(100) найти наибольший элемент, удовлетворяющий условию 1<Xy<=2 C++
Однонаправленный список, где создать указатель на первый элемент? C++
3. Написать функцию, которая обеспечивает ввод с клавиатуры целого положительного числа. Функция из набора знаков должна возвращать только целые полож C++
Функция должна принять указатель на саму себя C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
13.05.2011, 17:27     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #2
Цитата Сообщение от ol4ik Посмотреть сообщение
&(Arr+len)
Так нельзя писать. Можно брать адрес только переменной, а не временного значения.
Вторая ошибка видимо там, где вы вызываете эту функцию.
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 17:34  [ТС]     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #3
gooseim, но мне по условию нужно вернуть это значение,чтобы узнать,какое число следует после последнего элемента массива или вроде того
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
13.05.2011, 17:36     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #4
пишите:
C++
1
return Arr+len
& здесь не нужен
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 17:45  [ТС]     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #5
gooseim, проблема с & решилась,спасибо)
тогда как правильно вывести на печать эту функцию?
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
13.05.2011, 17:47     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #6
ol4ik, не совсем понял, что вы подразумеваете под фразой "вывести на печать".
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 17:49  [ТС]     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #7
gooseim, в том смысле,чтобы значение вывелось на экран
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
13.05.2011, 17:52     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #8
C++
1
cout<<"element Arr["<<i<<"]="<<Arr[i]<<endl;
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 17:56  [ТС]     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #9
gooseim, в таком случае ошибка error C2664: 'Find' : cannot convert parameter 4 from 'int (__cdecl *)(int,int)' to 'int *(__cdecl *)(int,int)'
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
13.05.2011, 18:03     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #10
ol4ik, эта ошибка с выводом значения на экран не связана. Смотрите, где вы вызываете эту функцию.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2011, 21:34     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию
Еще ссылки по теме:

C++ Функция должна возвращать наименьший положительный элемент массива
C++ Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива
Вернуть указатель на первый объект массива из шаблона класса C++

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

Или воспользуйтесь поиском по форуму:
ol4ik
 Аватар для ol4ik
22 / 21 / 6
Регистрация: 08.04.2010
Сообщений: 90
13.05.2011, 21:34  [ТС]     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию #11
всё,разобралась *о*
Yandex
Объявления
13.05.2011, 21:34     Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию
Ответ Создать тему
Опции темы

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