printf() では、整数データに対して、 %o, %d, %x という書式指定で、 それぞれ 8 進数, 10 進数, 16進数を表示できた。 C++ ではどうするか?
| kakezan.C |
// kakezan.C -- 掛け算 FF
#include <iostream.h>
int main()
{
int i, j;
// 掛け算 FF
cout.setf(ios::hex, ios::basefield);
for (i = 1; i <= 15; i++) {
for (j = 1; j <= 15; j++) {
cout.width(3);
cout << i * j;
}
cout << endl;
}
// 掛け算 77
cout.setf(ios::oct, ios::basefield);
for (i = 1; i <= 7; i++) {
for (j = 1; j <= 7; j++) {
cout.width(3);
cout << i * j;
}
cout << endl;
}
// 掛け算 99
cout.setf(ios::dec, ios::basefield);
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++) {
cout.width(3);
cout << i * j;
}
cout << endl;
}
return 0;
}
|
| kakezan-new.C |
// kakezan.C -- 掛け算 FF
#include <iostream.h>
#include <iomanip.h>
int main()
{
int i, j;
// 掛け算 FF
cout << hex;
for (i = 1; i <= 15; i++) {
for (j = 1; j <= 15; j++)
cout << setw(3) << i * j;
cout << endl;
}
// 掛け算 77
cout << oct;
for (i = 1; i <= 7; i++) {
for (j = 1; j <= 7; j++)
cout << setw(3) << i * j;
cout << endl;
}
// 掛け算 99
cout << dec;
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++)
cout << setw(3) << i * j;
cout << endl;
}
return 0;
}
|
| kakezan-new2.C |
// kakezan-new2.C -- 掛け算 FF
#include <iostream.h>
#include <iomanip.h>
int main()
{
int i, j;
// 掛け算 FF
cout << setbase(16);
for (i = 1; i <= 15; i++) {
for (j = 1; j <= 15; j++)
cout << setw(3) << i * j;
cout << endl;
}
// 掛け算 77
cout << setbase(8);
for (i = 1; i <= 7; i++) {
for (j = 1; j <= 7; j++)
cout << setw(3) << i * j;
cout << endl;
}
// 掛け算 99
cout << setbase(10);
for (i = 1; i <= 9; i++) {
for (j = 1; j <= 9; j++)
cout << setw(3) << i * j;
cout << endl;
}
return 0;
}
|