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

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

Войти
Регистрация
Восстановить пароль
 
van77715
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 50
#1

функции - C++

22.10.2013, 21:29. Просмотров 249. Ответов 7
Метки нет (Все метки)

Функции могут возвращать несколько значений?
Если да то как?

return a;
return b;
Это явно не сработает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
22.10.2013, 21:34     функции #2
Цитата Сообщение от van77715 Посмотреть сообщение
Функции могут возвращать несколько значений?
смотря что понимать под словом возвращать
return может вернуть какую нибудь структуру, указатель на область памяти где будут лежать разные значения
можно под возвращением понимать и изменение аргументов переданных по ссылке
типичный пример scanf
Цитата Сообщение от van77715 Посмотреть сообщение
return a;
return b;
Это явно не сработает
сработает но не так как ты хочешь до return b дело не дойдет
van77715
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 50
22.10.2013, 21:44  [ТС]     функции #3
например

функция (инт а, инт б)
ретурн а+б;
ретурн а * б;

а потом я хочу чтобы мне вывело на екран и то и другое

я так понял можноч через
сиоут << функция(число, число)
можне еще по другому вывести это? (я можно сказать функции 2 день учу)
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
22.10.2013, 21:51     функции #4
C++
1
2
3
4
5
6
7
8
void xzFunc(int * a, int * b)
{
int tmpAdd,tmpPov;
tmpAdd=(*a)+(*b);
tmpPov=(*a )*(*b);
*a=tmpAdd;
*b=tmpPov;
}
но по правильному написать две функции,для умножения и для сложения, поскольку логика у них разная
van77715
0 / 0 / 0
Регистрация: 22.09.2013
Сообщений: 50
22.10.2013, 21:58  [ТС]     функции #5
если я понял мы в конце в а и б заводим решения?
а как их можно перенести с функции в програму?
или если я в маин напишу
cout << b;
оно выведет?
ValeryS
Модератор
6449 / 4915 / 451
Регистрация: 14.02.2011
Сообщений: 16,298
22.10.2013, 22:25     функции #6
вызывать будешь так
C++
1
2
3
4
int a=10;
int b=20;
xzFunc(&a,&b);
cout<<a<<b;
Verbillion
9 / 9 / 0
Регистрация: 22.10.2013
Сообщений: 36
23.10.2013, 08:54     функции #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <cmath>
 
using namespace std;
int func(int a, int b, int *s, int *p)
{
    *s=a+b;
    *p=a*b;
    return 0;     
}
int main()
{
    int a = 1, b = 2,s,p;
    func(a,b,&s,&p);
    cout << s << endl << p << endl;
    system("PAUSE");
    return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
23.10.2013, 09:01     функции #8
я вот так обычно делаю
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
std::pair <int, double> function(int firstParam, double secondParam)
{
    firstParam = 155;
    secondParam = 155.5;
    std::pair <int, double> result(firstParam, secondParam);
    return result;
}
 
int main()
{
    int firstParam;
    double secondParam;
    std::cout << (firstParam = 255) << ' ' << (secondParam = 255.5) << std::endl;
    std::cout << function(firstParam, secondParam).first << ' ' << function(firstParam, secondParam).second << std::endl;
    
    system("pause > file");
    return 0;
}
Yandex
Объявления
23.10.2013, 09:01     функции
Ответ Создать тему
Опции темы

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