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

Возращение параметра из функции - C++

Восстановить пароль Регистрация
 
ыфтешс
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 10
28.12.2010, 19:12     Возращение параметра из функции #1
Приветствую помогите разобраться: есть функция, которая сортирует массив и которая считает количество перестановок. Это кол-во перестановок нужно из функции передать в главную функцию, для дальнейшего использования. Однако, написав такой код:

Код
int sortsimplechoose(int *a, const k, int deb, int sr){	
	//int sr =0, pere = 0;
	int pere = 0;
	for (int j = 0; j < k; j++)
	{
		int min = a[j], imin = j;
		for (int i = j+1; i < k; i++) 
		{
			sr++;
			if (a[i] < min) 
			{
			min = a[i];
			imin=i;
			}

		}
		a[imin] = a[j];
		a[j] = min;
		pere++;

		if (deb == 1)
			{for (int z = 0; z < k; z++)
				 cout<<a[j]<<"  ";
				 cout<<"\n";}
	}
	cout<<"\n"<<"kol-vo sravnenii:     "<<sr<<"\n"<<"kol-vo perestanovok:  "<<pere<<"\n";
return sr;
}

int main()
{ int k = 10, sr = 0, deb = 1;
 int *x = new int[k];
sortsimplechoose(x, k, deb, sr);
cout<<sr;
return 0;
getch();
}
sr всё время равно нулю. Подскажите, как сделать так, чтобы sr в главной функции было равно sr из функции sortsimplechoose? Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
28.12.2010, 19:33     Возращение параметра из функции #2
Непонятно то ли вы хотите вернуть sr, то ли передать как ссылку...
Если первый вариант, то последний параметр следует убрать и присвоить sr значение, которое вернёт функция
C++
1
2
3
int sortsimplechoose(int *a, const k, int deb)
...
sr = sortsimplechoose(x, k, deb);
Если второй, то просто объявите последний параметр как ссылку
C++
1
void sortsimplechoose(int *a, const k, int deb, int& sr)
ыфтешс
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 10
28.12.2010, 21:26  [ТС]     Возращение параметра из функции #3
исправил, спасибо rangerx , посмотрел уже книжку

Добавлено через 1 час 47 минут
Цитата Сообщение от rangerx Посмотреть сообщение
Непонятно то ли вы хотите вернуть sr, то ли передать как ссылку...
Если первый вариант, то последний параметр следует убрать и присвоить sr значение, которое вернёт функция
C++
1
2
3
int sortsimplechoose(int *a, const k, int deb)
...
sr = sortsimplechoose(x, k, deb);
Если второй, то просто объявите последний параметр как ссылку
C++
1
void sortsimplechoose(int *a, const k, int deb, int& sr)
Еще вопрос: первым вариантом несколько значений можно вернуть?
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
28.12.2010, 21:54     Возращение параметра из функции #4
Нет, но можно вернуть структуру.
Yandex
Объявления
28.12.2010, 21:54     Возращение параметра из функции
Ответ Создать тему
Опции темы

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