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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.82
d2funlife
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 17
#1

Вывод значения двух переменных - C++

02.08.2011, 23:28. Просмотров 7205. Ответов 33
Метки нет (Все метки)

есть к примеру :

шаблон функции (параметры)
{ что то делаеться и return двух переменных}

вызов : cout<<шаблон функции(аргументы);

выводит только одну перемнную, как сделать что б выводило обе ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2011, 23:28     Вывод значения двух переменных
Посмотрите здесь:

Поменять местами значения двух переменных, не используя дополнительной - C++
4.Напишите программу,которая меняет местами значения двух переменных в памяти. В задаче 4 попробуйте найти решение которое не использует...

Создать функции нахождения максимального значения из двух переменных - C++
#include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;cstdlib&gt; using namespace std; double H(double A, double B, double C) { int...

Поменять местами значения двух переменных, используя один указатель - C++
Это вообще реально? С двумя указателями вот так, с вероятностью ошибки т. к. засылаем на неизвестный адрес. #include &lt;iostream.h&gt; ...

Как поменять значения двух переменных не используя дополнительную переменную? - C++
Как поменять значения двух переменных не используя дополнительную переменную?

Решение задачи Абрамяна: поменять местами значения двух переменных - C++
Алгоритм и коды программы

Поменять местами значения двух переменных без использования дополнительной переменной - C++
4. Написать программу, которая меняет местами значения двух переменных без использования дополнительной переменной.

Написать программу, которая меняет местами значения двух переменных с использованием дополнительной переменной. - C++
3. Написать программу, которая меняет местами значения двух переменных с использованием дополнительной переменной. Пункт 5.16 Правил:...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
02.08.2011, 23:33     Вывод значения двух переменных #2
Как сделать что б выводило обе через cout одним разом?
d2funlife
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 17
02.08.2011, 23:39  [ТС]     Вывод значения двух переменных #3
не обязательно через cout, просто с выводом, честноговоря, не разбирался... вообще как ?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.08.2011, 23:41     Вывод значения двух переменных #4
d2funlife, покажите код
Сыроежка
Заблокирован
02.08.2011, 23:42     Вывод значения двух переменных #5
Цитата Сообщение от d2funlife Посмотреть сообщение
есть к примеру :

шаблон функции (параметры)
{ что то делаеться и return двух переменных}

вызов : cout<<шаблон функции(аргументы);

выводит только одну перемнную, как сделать что б выводило обе ?
Нельзя из функции вернуть две переменные! Функции возвращают один объект того типа, который указан в объявлении функции. Но вы можете задать в качестве возвращаемого значения, например, структуру, состоящую из двух членов, либо какой-нибудь класс. Уже есть стандартная готовая структура, которая называется
C++
1
std::pair
. Ее можно использовать для этих целей. Только вам нужно будет определить оператор вывода для этой структуры таким образом, как вам нужно.

Например,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
template <typename T>
 
std::pair<T, T> f( const T &x, const T &y )
{
...
   return ( std::make_pair( x, y ) );
}
 
template <typename T>
std::ostream & operator<<( std::ostream &os, const std::pair<T, T> &rhs )
{
   os << "( " << rhs.first << ", " << rhs.second << " )";
   return ( os );
}
Я это набирал "на коленках", так что код может не компилироваться, но он отражает идею, которую можно использовать в реальном коде.
d2funlife
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 17
02.08.2011, 23:44  [ТС]     Вывод значения двух переменных #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <typename T> T Equation(T A, T B, T C)
{
    float X1 = (-B + sqrt(((B*B)-(4*A*C))))/2*A;
    float X2 = (-B - sqrt(((B*B)-(4*A*C))))/2*A;
    return X1,X2;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
           float A,B,C;
    cout<<"\n\nEnter the param :\n\nA :";
    cin>>A;
    cout<<"\nB :";
    cin>>B;
    cout<<"\nC :";
    cin>>C;
    cout<<"\nX at this equation :"<<Equation(A,B,C);
           return 0;
}
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
02.08.2011, 23:45     Вывод значения двух переменных #7
Цитата Сообщение от Сыроежка Посмотреть сообщение
Нельзя из функции вернуть две переменные!
Ой как же ты заблуждаешься, Сыроеженька....

C
1
2
3
4
5
6
7
8
9
void func( int *a, char *b, float *c )
{
    ...
    *a = aa;
    *b = bb;
    *c = cc;
    ...
    // И так до бесконечности.
}
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.08.2011, 23:46     Вывод значения двух переменных #8
d2funlife,гениально, вы так сходу за шаблоны взялись изучать?
и что еще компилится?
d2funlife
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 17
02.08.2011, 23:53  [ТС]     Вывод значения двух переменных #9
компилит

Добавлено через 5 минут
так все же, может возвращать две переменные или только как отдельный обьект ?
Сыроежка
Заблокирован
02.08.2011, 23:53     Вывод значения двух переменных #10
Цитата Сообщение от lazybiz Посмотреть сообщение
Ой как же ты заблуждаешься, Сыроеженька....

C
1
2
3
4
5
6
7
8
9
void func( int *a, char *b, float *c )
{
    ...
    *a = aa;
    *b = bb;
    *c = cc;
    ...
    // И так до бесконечности.
}
Это вы заблуждаетесь и путаете понятия! Ваша функция ничего не возвращает! Учите понятие возвращаемого значения функции. Ваша функция объявлена с возвращаемым типом void. Вы путаете возвращаемое значение функции с передачей значений через параметры. А это не одно и тоже. Так что не учите ученых!
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
02.08.2011, 23:54     Вывод значения двух переменных #11
Цитата Сообщение от d2funlife Посмотреть сообщение
компилит
верно это уж я забыл про особенность оператора ',' - запятая) но вы ошибаетесь, в таком случае возвращаеться только х2 если мне не изменяет память(или х1)

Добавлено через 45 секунд
Цитата Сообщение от d2funlife Посмотреть сообщение
так все же, может возвращать две переменные или только как отдельный обьект ?
можно либо через указатели, либо через ссылки, либо через объект
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
02.08.2011, 23:57     Вывод значения двух переменных #12
как и сказали выше, через return можно вернуть только одно что-то. если нужно получать несколько чего-то из ф-ции, то либо передавайте в ф-цию указатели на это что-то и работайте с ними, либо определяйте класс/структуру, содержащий это что-то, и возвращайте их. последний вариант более удобен, если требуется организовать вывод этих значений (перегрузить, к примеру, <<), либо они как-то связаны логикой программы.
d2funlife
0 / 0 / 0
Регистрация: 08.03.2011
Сообщений: 17
02.08.2011, 23:59  [ТС]     Вывод значения двух переменных #13
а в данном варианте как вывести значение двух переменных(выводит только Х2)?
Сыроежка
Заблокирован
03.08.2011, 00:00     Вывод значения двух переменных #14
Цитата Сообщение от d2funlife Посмотреть сообщение
компилит

Добавлено через 5 минут
так все же, может возвращать две переменные или только как отдельный обьект ?
У вас код компилируется, потому что в предложении с return вы используете оператор запятая. А это значит, что у вас возвращаетсмя одно последнее значение после запятой в return, то есть x2. Как я вам уже написал, вы можете использовать стандартную структуру
C++
1
std::pair<float, float>
в качестве возвращаемого значения. Либо написать собственную структуру, а для нее оператор вывода.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 00:05     Вывод значения двух переменных
Еще ссылки по теме:

Вывести результат двух операций с использованием двух переменных - C++
Такие дела: надо ввести с клавиатуры 4 переменные, используя только 2 int, и посчитать результат двух выражений Есть такой вариант, но...

Конкатенация двух переменных - C++
Доброго времени суток! Прошу прощения за такой вопрос но нет времени искать решение в интернете и я только два дня как начал учить с++! Мне...

Деление многочленов от двух переменных - C++
Есть многочлен от двух переменных, заданный следующей структурой: struct Monom { int CoefX,CoefY,DegX,DegY; }; struct...

Обмен значениями двух переменных - C++
Нашёл на другом форуме занятную формулу обмена значений двух переменных(очевидно на с++): b = – –a + (a=b)*0; Проверил на числах 1 и...

Вычислить значения переменных - C++
Помогите пожалуйста, написать программку: Вычислить значения переменных, по заданной формуле. На печать вывести значение введенных...


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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.08.2011, 00:05     Вывод значения двух переменных #15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
template <typename T> 
void Equation(T A, T B, T C, float* X1, float* X2)
{
    *X1 = (-B + sqrt(((B*B)-(4*A*C))))/(2*A);
    *X2 = (-B - sqrt(((B*B)-(4*A*C))))/(2*A);
}
 
int main()
{
    float A, B , C, x1, x2;
    std::cout << "\n\nEnter the param :\n\nA :";
    std::cin >> A;
    std::cout << "\nB :";
    std::cin >> B;
    std::cout << "\nC :";
    std::cin >> C;
    Equation(A,B,C, &x1, &x2);
    std::cout << "\nX at this equation:\nx1 = " << x1 << "\nx2 = " << x2;
    return 0;
}
Сыроежка, и все же std:air лучше использовать когда есть четкая определеннось, например типы возвращаемых значений различны, в даном случае типы одинаковы и легко перепутать корни x1 и х2
Yandex
Объявления
03.08.2011, 00:05     Вывод значения двух переменных
Ответ Создать тему
Опции темы

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