2017年09月16日
《その29》 繰返しの制御(p.159演習4-10,演習4-11)
新版明解C++入門編 p.159 演習4-10
List 4-15のように、float型の変数を 0.0 から 1.0 まで 0.001 ずつ増やしていく様子と、List 4-16 のように、int型の変数を 0 から 1000 までインクリメントした値を 1000 で割った値を求める様子を、横に並べて表示するプログラムを作成せよ。
// p159_演習4-10
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
float xf = 0.0f; // 0.001fを繰り返し加えて作る実数
float xi; // 1ずつ増える整数nを1000で割った実数
float sumf = 0.0f; // xfの合計
float sumi = 0.0f; // xiの合計
cout << fixed << setprecision(6);
cout << " float int\n";
cout << "------------------\n";
for (int n = 0; n <= 1000; n++) { // 1ずつ増える整数n
xi = static_cast<float>(n) / 1000; // 整数nを1000で割った実数xi
if (n <= 4 || n >= 498 && n <= 502 || n >= 996)
cout << xf << " " << xi << '\n';
if (n == 200 || n == 800)
cout << "…中略… …中略…\n";
sumf += xf;
sumi += xi;
xf += 0.001f; // 実数xfに0.001fを加える
}
cout << "------------------\n";
cout << "floatの合計 … " << sumf << '\n';
cout << "int の合計 … " << sumi << '\n';
}
新版明解C++入門編 p.159 演習4-11
float型の変数を 0.0 から 1.0 まで 0.001 ずつ増やしながら、その値と、その値の2乗を表示するプログラムを作成せよ。
// p159_演習4-11
#include <iomanip>
#include <iostream>
using namespace std;
int main()
{
cout << fixed << setprecision(6);
cout << " 元の値 2乗値\n";
int n = 0;
for (float x = 0.0f; x <= 1.0f; x += 0.001f) {
if (x < 0.005) cout << x << " " << x * x << '\n';
if (++n == 500) cout << " ・・・ ・・・\n";
if (x > 0.995) cout << x << " " << x * x << '\n';
}
}
--
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6706270
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック