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

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

Войти
Регистрация
Восстановить пароль
 
ыфтешс
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 10
#1

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

28.12.2010, 19:12. Просмотров 313. Ответов 3
Метки нет (Все метки)

Приветствую помогите разобраться: есть функция, которая сортирует массив и которая считает количество перестановок. Это кол-во перестановок нужно из функции передать в главную функцию, для дальнейшего использования. Однако, написав такой код:

Код
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? Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 19:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возращение параметра из функции (C++):

Возращение результата функции в виде указателя на объект - C++
есть функция My_Class* preprocessing(const My_Class* obj) { My_Class* Result = new My_Class(); ... return Result; } внутри...

Выделение памяти оператором new в функции и возращение ею этого значения - C++
Сабж, получается после выхода из функции указатель удаляется, а выделенная память не освободится, так? Отсюда вопрос: как организовать...

Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов - C++
Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов int или float и возвращают...

Использование функции как параметра другой функции - C++
В задании указано, что функция P прибавляет значение функции ff к элементу массива, если он входит в промежуток от C до D, которые вводятся...

Возращение значения в рекурсии - C++
Есть бинарное дерево и есть функция, которая должна рекурсивно пройти по вершинам в порядке возрастания ключей и вернуть первое значение,...

Передача функции в качестве параметра функции - C++
Дорогие форумчане! Повторяю пример из книжки. До конца не понял его! Помогите разобраться! Тема: односвязный линейный список. Плюс,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
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)
1
ыфтешс
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)
Еще вопрос: первым вариантом несколько значений можно вернуть?
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
28.12.2010, 21:54 #4
Нет, но можно вернуть структуру.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 21:54
Привет! Вот еще темы с ответами:

Возращение количества байт. Структура и чтение с файла - C++
Проверяет и не хочет ничего выводить. В чем проблема? while(1) { if(sizeof(inf) != fread(&amp;inf, sizeof(inf),1,f)) break; ...

2 параметра в 1 функции - C++
Не знал как точно назвать тему, дело в том, что у меня есть вот такой вот код: void cmd_vcol( char *param ) { int ...

Вернуть 2 параметра из функции - C++
Доброе время суток. Объясните, пожалуйста как вернуть 2 параметра из функции? Очень желательно на таком примере - Написать функцию...

Функции в зависимости от параметра - C++
хз как точнее описать в общем можно ли сделать чтобы в классе появлялись (становились доступными в public) те или иные функции в...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.12.2010, 21:54
Ответ Создать тему
Опции темы

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