2017年09月22日
《その40》 参照渡し(p.221演習6-13),三値のソート(p.223演習6-14,演習6-15)
新版明解C++入門編 p.221 演習6-13
List 6-14(p.219)のプログラムに a = y; を追加して、プログラムの挙動を確認せよ。
// p221_演習6-13
#include <iostream>
using namespace std;
int main()
{
int x = 1;
int y = 2;
int& a = x;
cout << "a = " << a << '\n'; // a … 1
cout << "x = " << x << '\n'; // x … 1
cout << "y = " << y << '\n'; // y … 2
cout << '\n';
a = 5; // x = 5 を意味する。
cout << "a = " << a << '\n'; // a … 5
cout << "x = " << x << '\n'; // x … 5
cout << "y = " << y << '\n'; // y … 2
cout << '\n';
a = y; // x = y を意味する。
cout << "a = " << a << '\n'; // a … 2
cout << "x = " << x << '\n'; // x … 2
cout << "y = " << y << '\n'; // y … 2
}
新版明解C++入門編 p.223 演習6-14
a, bを昇順にソートする(a ≦ b となるように並べかえる)関数 sort を作成せよ。
void sort(int& a, int& b);
// p223_演習6-14
#include <iostream>
using namespace std;
void sort(int& a, int& b)
{
if (a > b) {
int t = a;
a = b;
b = t;
}
}
int main()
{
int x, y;
do {
cout << "◆整数x (999で終了) : "; cin >> x;
if (x == 999) break;
cout << " 整数y : "; cin >> y;
sort(x, y);
cout << " 昇順にソートしました。\n";
cout << " 変数xの値は " << x << "です。\n";
cout << " 変数yの値は " << y << "です。\n";
} while (true);
}
新版明解C++入門編 p.223 演習6-15
x時y分の時刻を、そのdy分後の時刻へと更新する関数 spend を作成せよ。なお時刻の表現は24時間制であるものとする。
たとえば、23時59分の2分後の時刻は 0時1分となる。
void spend(int& x, int& y, int dy);
// p223_演習6-15
#include <iostream>
using namespace std;
void spend(int& x, int& y, int dy)
{
x = (x + (y + dy) / 60) % 24;
y = (y + dy) % 60;
}
int main()
{
int h, m, dm;
cout << "時 :"; cin >> h;
cout << "分 :"; cin >> m;
cout << "何分後?:"; cin >> dm;
cout << '\n';
cout << h << "時" << m << "分の" << dm << "分後は" << '\n';
spend(h, m, dm);
cout << h << "時" << m << "分です。" << '\n';
}
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6726976
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック