分数の足し算a/c+b/d
を実現するプログラム例
#include<iostream>
#include<ctime>
using namespace std;
int yg(int a,int b);
void k(int a,int b);
void main(){
int a=0,b=0,c=0,d=0,e=0;
srand(time(NULL));
while(a==0){
a=rand()%100;
}
while(b==0){
b=rand()%100;
}
while(c==0 || d==0 || e<2){
c=rand()%100;
d=rand()%100;
if(c<d)k(c,d);
e=yg(c,d);
}
cout<<a<<"/"<<c<<"+"<<b<<"/"<<d<<"=";
int f;
f=c*d/e;
cout<<a*(f/c)+b*(f/d)<<"/"<<f<<endl;
cout<<"プロジェクト終了"<<endl;
}
void k(int a,int b){
int w;
w=a;
a=b;
b=w;
}
int yg(int a,int b){
a=a%b;
if(a==0)return(b);
yg(b,a);
}
参考ダウンロード添付ファイル
確かに、分母は互いに素でなく(最大公約数が1より大きく)、
通分しての足し算は実現できていますが、
のように、
まだ計算が終わっていない例も出来てしまいます。
約分されていませんね。
そこで、約分できる場合に約分も実行するプログラム
に変更して下さい。
第6話へ 第8話へ
eclipse c++ 入門講義第1部へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ