Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
OXI
0 / 0 / 0
Регистрация: 12.05.2014
Сообщений: 5
#1

Возвращение из функций нескольких значений - C++

26.11.2014, 14:55. Просмотров 1318. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Нужна помощь. Дано задание: Напишите функцию swap(int& a, int& b, int& c), которая изменяет значения
параметров по правилу a>b>c>a. Передачу параметров в функцию реализовать тремя
изученными методами: по значению, по ссылке и по указателю. По ссылке и по указателю сделал, а по значению не получается сделать возврат этих значений. Спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
 
int swap(int& a, int& b, int& c);
int swap(int* a, int* b, int* c);
int swap1(int a, int b, int c);
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a = 10;
    int b = 20;
    int c = 30;
    cout << a << " " << b << " " << c << endl; 
    swap(a,b,c);
    cout << a << " " << b << " " << c << endl;
    swap(&a, &b, &c);
    cout << a << " " << b << " " << c << endl;
    swap1(a, b, c);
    cout << a << " " << b << " " << c << endl;
    getchar();
    return 0;
}
 
int swap(int& a, int& b, int& c)
{
    int v = a;
    a = c;
    c = b;
    b = v;
    return (a,b,c);
}
 
int swap(int* a, int* b, int* c) {
    int v = *a;
    *a = *c;
    *c = *b;
    *b = v;
    return (*a, *b, *c);
}
 
int swap1(int a, int b, int c) {
    int v;
    a = c;
    c = b;
    b = v;
    return (a,b,c);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 14:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Возвращение из функций нескольких значений (C++):

Программа с возвратом из функций нескольких значений
Как переделать эту на программу с возвратом из функций нескольких значений? ...

Возвращение значений из функции
как вернуть кроме значения структуры еще и значение переменной а типа int?...

Возвращение трех значений
Как в функции возвратить три значения?

Шаблон и возвращение булевых значений
Всем привет. есть такой шаблон: template &lt;typename T&gt; T printResult(const...

Возвращение и вывод вычисленных значений в классах
Пишу программу для вычисления корней уравнений и наткнулся на небольшую...

Возвращение двух значений через ссылку и return
При выполнении программы функция возвращает количество и сумму чисел,...

5
Khludenkov
32 / 26 / 3
Регистрация: 30.04.2014
Сообщений: 455
26.11.2014, 15:19 #2
А по значению и не будет менять. Читайте документацию.
0
maritux
Заблокирован
26.11.2014, 15:34 #3
Не нужно возвращать, в функцию передаются обьекты и все действия происходят именно с ними.
0
demmax2004
116 / 138 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
26.11.2014, 15:54 #4
return (a,b,c);
тут он тебе вернет только c
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25624 / 17177 / 6830
Регистрация: 22.10.2011
Сообщений: 30,369
Записей в блоге: 6
26.11.2014, 15:58 #5
Цитата Сообщение от demmax2004 Посмотреть сообщение
тут он тебе вернет только a
Не a, а с. Букварь по C++ тебя ждет...
0
demmax2004
116 / 138 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
26.11.2014, 16:06 #6
а по значению не получается сделать возврат этих значений.
конечно не получится как ты сделал, нужно создавать структуру и передавать через нее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct SWAP
{
    int a;
    int b;
};
 
SWAP swap1(int a, int b)
{
    SWAP sw;
    sw.a = b;
    sw.b = a;
    return sw;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a = 7;
    int b = 3;
    SWAP sw = swap1(a, b);
    printf("return value %i, %i", sw.a, sw.b);
    _gettch();
    return 0;
}
0
26.11.2014, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 16:06
Привет! Вот еще темы с решениями:

Передача значений функций в главную программу, вызов функций
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную...

Вычислить и распечатать таблицу значений заданных функций для указанных значений
для всех х, меняющихся с шагом hx=0.5 и всех y, меняющихся с шагом hy=0,25...

Выйти из нескольких функций
Необходимо при определенном условии выскочить из косвенной рекурсии. Конечно,...

Работа с файлом из нескольких функций
Здравствуйте. Нужно печатать в 1 файл из нескольких функций. Предположим есть...


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

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

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