Skip to content

7. 関数

7.Q Swap Two Numbers(★★☆)

INFO

この問題は7.4を読んでから取り組んでください。

問題

整数が与えられる。2つの値を入れ替える関数swap_intを作ろう。swap_intは返り値を持たないものとする。

次のプログラムの// ここにプログラムを書くの部分に、関数swap_intを定義して完成させること。main関数のコードは変更しないこと。

cpp
#include <iostream>
using namespace std;

// ここにプログラムを書く

int main() {
    int a, b;
    cin >> a >> b;
    cout << a << " " << b << endl;
    swap_int(a, b);
    cout << a << " " << b << endl;
}

入出力例

例1

入力

Input
3 10

出力

Output
3 10
10 3

例2

入力

Input
-5 7

出力

Output
-5 7
7 -5

ヒント

ヒント1

参照渡しを使うと、関数の中で値を入れ替えた結果がmain側にも反映されます。(7.4を参考にしてください。)

ヒント2

一時変数を使ってxyを入れ替えましょう。

解答例

解答例
cpp
#include <iostream>
using namespace std;

void swap_int(int &x, int &y) {
    int tmp = x;
    x = y;
    y = tmp;
}

int main() {
    int a, b;
    cin >> a >> b;
    cout << a << " " << b << endl;
    swap_int(a, b);
    cout << a << " " << b << endl;
}