第25講 n進数の演算---その1 加法
第4話 n進数のデータ作成と表示のプログラム例
a
f
を実現するプログラム例
#include<iostream>
#include<ctime>
using namespace std;
void f(int* a,int n); //データ作成関数
void h(int* x,int n); //データ表示関数
void main(){
   int n,t=0;
   while(1){
    cout<<"何進数の演算を考えますか?"<<endl;
    t=1;
    break;
   }
   if(t==1)scanf("%d",&n);
   srand(time(NULL));
   int a[10000],b[10000];
   f(a,n);
   f(b,n);
   h(a,n);
   h(b,n);
   cout<<"プロジェクト終了"<<endl;
}
void f(int* x,,int n){
   int i,j=0;
   while(j==0){ //桁数が0になることの禁則処理
     j=rand()%10;
   }
   for(i=0;i<j;i++){
     x[i]=rand()%n;
     if(i==j-1)if(x[i]==0)i--; //最後の桁が0にならないようにする禁則処理
   }
   x[j]=n; //終わりの印の代入
}
void h(int* x,int n){
   int i,j;
   for(i=0;;i++){ //終わりの添え字の入っている添え字の取得
     if(x[i]==n){
        j=i;
        break;
     }
   }
   for(i=j-1;i>=0;i--)cout<<x[i]; //逆順での表示
   cout<<endl;
}
参考ダウンロード添付ファイル

それでは、いよいよ足し算を実現してください。
プログラムのポイントは
0+0=0
0+1=1
0+2=2
1+0=1
1+1=2
1+2=10
2+0=0
2+1=10
2+2=11
等の計算規則をいかに汎用的に実現するかです。

k
p
また、表示は計算結果が正しいかすぐに確認できるように、
上の図のように右揃えにして下さい。
t
のように左揃えにしてしまうと、
計算が合っているのかは、
紙に書き写して確認しない限り、
正しいのかどうか分かりませんから。


自信のある方は、
次話を見ないでプログラムを組んで頂きたいと思いますが、
次話では考え方を説明しますので、
それを参考にして組んで頂ければと思います。

第3話へ 第5話へ

a

eclipse c++ 入門講義第1部へ

eclipse c++ 入門講義第2部へ


魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
VC++ C言語 C++ 入門 初心者 基礎から応用まで
本サイトトップへ