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

swap - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 63, средняя оценка - 4.92
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
26.10.2010, 21:12     swap #1
Cи подчеркивает swap и говорит что он не определен! в данном случаи а это массив, а i и j индексы элементов
C++
1
swap(a,i,j)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2010, 21:12     swap
Посмотрите здесь:

C++ Функция swap
C++ swap
Ошибка в Swap C++
C++ swap
C++ Объясните о swap()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
26.10.2010, 21:15     swap #2
Так определи. Вставь этот код:
C
1
2
3
4
5
6
7
8
int swap(int* a, int i, int j)
{
   int temp;
   temp=a[i];
   a[i]=a[j];
   a[j]=temp;
   return 1;
}
Астик
 Аватар для Астик
11 / 11 / 0
Регистрация: 03.10.2010
Сообщений: 173
Записей в блоге: 1
26.10.2010, 21:20  [ТС]     swap #3
Цитата Сообщение от МаксимМВ Посмотреть сообщение
Так определи. Вставь этот код:
C
1
2
3
4
5
6
7
8
int swap(int* a, int i, int j)
{
   int temp;
   temp=a[i];
   a[i]=a[j];
   a[j]=temp;
   return 1;
}
все вспомнил ) спасибо что навел на мысль ) и кстати там не int а float должно быть мы же не возвращаем ничего )
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
26.10.2010, 21:28     swap #4
Астик, Если мы ничего не возвращаем, то должно быть void... В функции МаксимМВ, возвращается 1
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
26.10.2010, 21:30     swap #5
Цитата Сообщение от Астик Посмотреть сообщение
мы же не возвращаем ничего
тогда уж void, а?

Добавлено через 57 секунд
Надо будет себе на монитор записочку налепить с надписью "F5"...
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
27.10.2010, 08:57     swap #6
Я думал что void только в C++. Он и с C значит есть. Буду знать.
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.10.2010, 09:06     swap #7
Цитата Сообщение от МаксимМВ Посмотреть сообщение
Я думал что void только в C++. Он и с C значит есть. Буду знать.
скачай стандарты C в черновиках
он там есть с 89 года
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 10:40     swap
Еще ссылки по теме:

Какой swap быстрее? C++
C++ Функция swap()
C++ Функция swap

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.10.2010, 10:40     swap #8
Цитата Сообщение от Астик Посмотреть сообщение
и кстати там не int а float должно быть мы же не возвращаем ничего
пусть уж тогда long double какой-нибудь будет. Какая разница, что не возвращать?

МаксимМВ, на самом деле мысль правильная. Если делать параноидальный вариант, то как-то так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int swap(int * arr, size_t size, size_t i, size_t j){
  if ( ! arr || ! size || i > size - 1 || j > size - 1 )
    return -1;
  if ( i != j ){
    int tmp = arr[i];
    arr[i] = arr[j];
    arr[j] = tmp;
  }
  return 0;
}
...
// где-то в программе 
if ( swap(arr, size, i, j )
  fprintf(stderr, "Нифига не вышло!");
...
Yandex
Объявления
27.10.2010, 10:40     swap
Ответ Создать тему
Опции темы

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