C++言語を始めました

プログラムの学習なら、先ずはC++言語。

初めての投稿、最大公約数を求めるプログラム

2019-09-06 01:17:28 | 日記
#include <iostream>
using namespace std;

int main() {

int a,b;
cout << "put number a:";
cin >> a;
cout << "put number b:";
cin >> b;

while (a != b) {
if a > b;
{
a = a-b;
}
else
{
b = b-a;
}
}
cout << "max common divisor is " << a;
return 0;
}

(正解)
#include <iostream>
using namespace std;

int main() {

int a,b;
cout << "put number a:";
cin >> a;
cout << "put number b:";
cin >> b;

while (a != b) {
if (a > b)
{
a = a-b;
}
else
{
b = b-a;
}
}
cout << "max common divisor is " << a;
return 0;
}

(課題)素数かどうかの判定を行う

2019-09-04 19:13:02 | プログラミング学習
課題 入力した整数が「素数」かどうか判定
素数:prime number
素数とは、自分以外の他の整数では割れない整数のこと
アルゴリズムの基本:
整数nが素数かどうか判定するには、「2~√nまですべての整数で繰り返し割ってみる。もし、そのいずれでも割り切れる数がなければ、nは素数である」

算法設計のためのメモ
1)nを入力して、変数に代入する
2)for (i=1; i


#include <iostream>
using namespace std;

int main() {
int i,n;

cout << " input number,pls";
cin >> n;

for(i = 0; i


以上でコンパイルすると、エラーメッセージが雪崩のように表示される。要、修正。


Cygwinの日本語化方法

2019-09-03 08:14:26 | プログラミング学習
(Cygwinの日本語化方法)
https://aprico-media.com/posts/2387


■ユークリッドの互除法で最大公約数を求める

2019-09-03 06:31:33 | プログラミング学習
「スラスラわかるC++」 p75
while文を使った繰り返しのサンプルとして、最大公約数を求めるプログラムを作る。
1)算法として、「2つの整数の大きいほうから小さいほうを引く」
2)両者が等しくなるまで、繰り返す。
3)2つが等しくなった値が、最大公約数である。

(第1回めの解答)
#include <iostream>
using namespace std;

int main() {

int a,b;
cout << "put number a:";
cin >> a;
cout << "put number b:";
cin >> b;

while (a != b) {
if a > b;
{
a = a-b;
}
else
{
b = b-a;
}
}
cout << "max common divisor is " << a;
return 0;
}

(正解)
#include <iostream>
using namespace std;

int main() {

int a,b;
cout << "put number a:";
cin >> a;
cout << "put number b:";
cin >> b;

while (a != b) {
if (a > b)
{
a = a-b;
}
else
{
b = b-a;
}
}
cout << "max common divisor is " << a;
return 0;
}
単純ミスの、#include,


■配列を使って、平均値を求める

2019-09-03 00:15:06 | プログラミング学習
「初学者に捧げる問題集」p41
問25

要素数10の実数型の配列「input_value[10]に、ユーザーが正の整数を入力します。入力終了後に、その10個の様子の平均値を計算して、表示しなさい。
(ヒント)
1)平均値を計算するには、10個の要素の合計値sumが必要
2)平均値も合計値も実数なので、double型の変数を使う

(追記)
何回かの修正の後に、下記の試行でコンパイルできたが、動作しない。
原因探索中。
(追記)
その後、ちゃんと動作していることを確認。
しかし、cygwin64のターミナルでは、日本語が化けてしまうことが判明。
日本語化の可能性について、調べる。

-----------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;

int main() {

double input_number[10];
int i;
double sum =0.0;double ave;

for (i=0;i<10;i++) {
cin >> input_number[i];
sum = sum + input_number[i];
}
ave= sum / 10.0;
cout << "平均値は" << ave << "です"<< endl;
return 0;
}