第6講 配列の学習
第6話 仕事を部下(関数)に任せるプログラム例

仕事を部下(関数の任せる)それぞれのプログラム例
前々話wプログラム改良例
#include<iostream>
using namespace std;
int x[5][6],y[5][6];
void f1(); //データ作成
void f2(); //データ表示
void f3(); //和の算出と表示
void f4(); //積の算出と表示
void main(){
   f1(); //データ作成
   f2(); //データ表示
   f3(); //和の算出と表示
   f4(); //積の算出と表示
}

//データ作成
void f1(){
   int i,j;
   for(i=0;i<5;i++){
     for(j=0;j<6;j++){
        x[i][j]=6*i+j+1;
        y[i][j]=6*j+i+1;
     }
   }
}

//データ表示
void f2(){
   int i,j;
   for(i=0;i<5;i++){
     for(j=0;j<6;j++){
        if(x[i][j]<10)cout<<"0"<<x[i][j]<<" ";
        if(x[i][j]>=10)cout<<x[i][j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
   for(i=0;i<5;i++){
     for(j=0;j<6;j++){
        if(y[i][j]<10)cout<<"0"<<y[i][j]<<" ";
        if(y[i][j]>=10)cout<<y[i][j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}

//和の算出と表示
void f3(){
   int i,j;
   for(i=0;i<5;i++){
     for(j=0;j<6;j++){
        if(x[i][j]+y[i][j]<10)cout<<"0"<<x[i][j]+y[i][j]<<" ";
        if(x[i][j]+y[i][j]>=10)cout<<x[i][j]+y[i][j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}

//積の算出と表示
void f4(){
   int i,j;
   for(i=0;i<5;i++){
     for(j=0;j<6;j++){
        if(x[i][j]*y[i][j]<10)cout<<"000"<<x[i][j]*y[i][j]<<" ";
        if(x[i][j]*y[i][j]>=10 && x[i][j]*y[i][j]<100)cout<<"00"<<x[i][j]*y[i][j]<<" ";
        if(x[i][j]*y[i][j]>=100 && x[i][j]*y[i][j]<1000)cout<<"0"<<x[i][j]*y[i][j]<<" ";
        if(x[i][j]*y[i][j]>=1000)cout<<x[i][j]*y[i][j]<<" ";
     }
     cout<<endl;
   }
}

前話rプログラム改良例
#include<iostream>
#include <time.h>
using namespace std;
int x[40][6];
void f1(); //1行目(ラベル)表示
void f2(); //データ作成
void f3(); //データ表示
void main(){
   f1(); //1行目(ラベル)表示
   f2(); //データ作成
   f3(); //データ表示
}

//1行目(ラベル)表示
void f1(){
   cout<<"出席番号 国語 社会 数学 理科 英語"<<endl;
}

//データ作成
void f2(){
   srand(time(NULL));
   int i,j;
   for(i=0;i<40;i++)x[i][0]=i+1;
   for(i=0;i<40;i++){
     for(j=1;j<6;j++){
        x[i][j]=rand()%100;
     }
   }
}

//データ表示
void f3(){
   int i,j;
   for(i=0;i<40;i++){
     for(j=0;j<6;j++){
        if(j==0)cout<<" ";
        if(x[i][j]<10)cout<<"0"<<x[i][j]<<" ";
        if(x[i][j]>=10)cout<<x[i][j]<<" ";
     }
     cout<<endl;
   }
   cout<<endl;
}

では、今回改良したr
をさらに改良して、各教科合計と各教科平均を出して、
c
    ・・・・
b
として下さい。
ただし、合計も平均も要素数5個の
1次元配列とすることを条件とします。
位置の調整には相当苦労しますよ。
試行錯誤でがんばりましょう。



第5話へ 第7話へ

a

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