Проблема в том, как определить результат наименьшего числа в функции и как его вернуть? - PullRequest
0 голосов
/ 09 ноября 2019
#include <iostream>

using namespace std;


int myNum1 = 0;
int myNum2 = 0;


int main() {


    int smaller, bigger, a, b;

    cout << " Enter two numbers :" << endl;

    cin >> a, b;

    smallerNumber(smaller, bigger, a, b);

    cout << smaller << bigger << endl;

    return 0;

}


int smallerNumber(int a, int b, int IsSmaller, int IsBigger){





    if (a > b) {
        a = IsBigger;
        b = IsSmaller;
    }
    else if (a < b) {
        a = IsSmaller;
        b = IsBigger;
    }
    else if (a == b) {
        a = IsSmaller;
        b = IsBigger;
    }
    return a;
    return b;

}

1 Ответ

1 голос
/ 09 ноября 2019

Вам необходимо решить, хотите ли вы изменить параметры функции или вернуть значение single .

Изменение параметров

Передайте переменные return по ссылке:

void smallerNumber(int& a, int& b, int IsSmaller, int IsBigger)
{
    if (a > b) {
        a = IsBigger;
        b = IsSmaller;
    }
    else if (a < b) {
        a = IsSmaller;
        b = IsBigger;
    }
    else if (a == b) {
        a = IsSmaller;
        b = IsBigger;
    }
}

Паз по ссылке позволяет вашей функции изменять параметры.

Возвращение нескольких значений

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

struct BigSmall
{
    int bigger;
    int smaller;
};

BigSmall smallerNumber(int a, int b)
{
    BigSmall result;
    if (a > b) {
        result.bigger = a;
        result.smaller = b;
    }
    else if (a < b) {
        result.bigger = b;
        result.smaller = a;
    }
    else if (a == b) {
        result.bigger = a;
        result.smaller = a;
    }
    return result;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...