第5講 関数の学習
第7話 花子は3人の中で誰が好き・・・解答例
花子は3人の中で誰が好き・・・解答例
#include<iostream>
#include<string>
#include <time.h>
using namespace std;
int f();
string g(int a);
void main(){
srand(time(NULL));
cout<<"花子は3人の中で誰が好き?"<<endl;
char a;
a=f();
cout<<g(a)<<endl;
}
int f(){
char a;
a=rand()%3;
return(a);
}
string g(int a){
string w,x,y,z;
w="次郎";
x="太郎";
y="三郎";
z="だよ。";
if(a==0)return(w+z);
if(a==1)return(x+z);
if(a==2)return(y+z);
}
実行画面例
『幼なじみはPで、好きなのはQで、愛しているのはRだ。』解答例
#include<iostream>
#include<string>
#include <time.h>
using namespace std;
int f();
string g(int a);
void main(){
srand(time(NULL));
cout<<"花子は3人の中で誰が好き?"<<endl;
char a;
a=f();
cout<<g(a)<<endl;
}
int f(){
char a;
a=rand()%6;
return(a);
}
string g(int a){
string x;
if(a==0)x="幼なじみは次郎で、好きなのは太郎で、愛しているのは三郎だ。";
if(a==1)x="幼なじみは次郎で、好きなのは三郎で、愛しているのは太郎だ。";
if(a==2)x="幼なじみは太郎で、好きなのは次郎で、愛しているのは三郎だ。";
if(a==3)x="幼なじみは太郎で、好きなのは三郎で、愛しているのは次郎だ。";
if(a==4)x="幼なじみは三郎で、好きなのは太郎で、愛しているのは次郎だ。";
if(a==5)x="幼なじみは三郎で、好きなのは次郎で、愛しているのは太郎だ。";
return(x);
}
実行画面例
難しい課題で申し訳ありません。
3人の順列ですから、3!=3×2×1=6(通り)あったわけです。
もし、選択肢が3人ではなく10人
(一郎、次郎、三郎、四郎、五郎、六郎、七郎、八郎、九郎、十郎)
であったとすれば、
10×9×8=720(通り)もあり、
今回の全パターンを用意する手法では、
手に負えなくなります。
ですが、これを簡単に解決する方法はあるのです。
それは、第9講で学ぶ予定になっている関数の再帰的使用という手法です。
さて、皆さん次のように二人の部下が、
お互いに仕事を依頼し合ったらどうなるでしょうか。
#include<iostream>
using namespace std;
void f();
void g();
void main(){
f();
}
void f(){
cout<<"gさんお仕事お願いします。"<<endl;
g();
}
void g(){
cout<<"fさんお仕事お願いします。"<<endl;
f();
}
第6話へ 第8話へ
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ