第2話 並び換えプログラム例
を実現するプログラム例
#include<iostream>
#include<ctime>
using namespace std;
void f(int* x); //データ作成関数
void g(int* x); //データ並び換え関数
void h(int* x); //データ表示関数
void main(){
srand(time(NULL));
int x[5];
f(x);
h(x);
g(x);
h(x);
cout<<"プロジェクト終了"<<endl;
}
void f(int* x){
int i;
for(i=0;i<5;i++)x[i]=rand()%100;
}
void h(int* x){
int i;
for(i=0;i<5;i++)cout<<x[i]<<" ";
cout<<endl;
}
void g(int* x){
int i,j,jkr,max;
for(i=0;i<5;i++){
max=-100;
for(j=0;j<5-i;j++){
if(x[j]>=max){
max=x[j];
jkr=j;
}
}
int w;
w=x[4-i];
x[4-i]=x[jkr];
x[jkr]=w;
}
}
参考ダウンロード添付ファイル
では、皆さん次の課題に挑戦して下さい。
① 大きい順に並べ換える。
② 2次元for文ではなく、2次元while文で実現して下さい。
③ 1次元目をwhile文、2次元目をfor文で実現して下さい。
④ 1次元目をfor文、2次元目をwhile文で実現して下さい。