2017年09月24日
《その45》 関数呼出しとポインタ(p.253演習7-2,演習7-3)
新版明解C++入門編 p.253 演習7-2
List 6-15(p.220)の関数 swap を、参照渡しではなく、ポインタの値渡しによって行うように変更したプログラムを作成せよ。
// p253_演習7-2
#include <iostream>
using namespace std;
void swap(int* x, int* y)
{
int t = *x;
*x = *y;
*y = t;
}
int main()
{
int a, b;
cout << "整数a:"; cin >> a;
cout << "整数b:"; cin >> b;
swap(&a, &b);
cout << "------\n";
cout << "整数a … " << a << '\n';
cout << "整数b … " << b << '\n';
}
新版明解C++入門編 p.253 演習7-3
List 6-16(p.222)の関数 sort を、参照渡しではなく、ポインタの値渡しによって行うように変更したプログラムを作成せよ。
// p253_演習7-3
#include <iostream>
using namespace std;
void swap(int* x, int* y)
{
int t = *x;
*x = *y;
*y = t;
}
void sort(int* a, int* b, int* c)
{
if (*a > *b) swap(a, b);
if (*b > *c) swap(b, c);
if (*a > *b) swap(a, b);
}
int main()
{
int a, b, c;
cout << "変数a:"; cin >> a;
cout << "変数b:"; cin >> b;
cout << "変数c:"; cin >> c;
sort(&a, &b, &c);
cout << "------\n";
cout << "変数a … " << a << '\n';
cout << "変数b … " << b << '\n';
cout << "変数c … " << c << '\n';
}
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6736647
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック