要素の中身を入れ替えていくプログラムを作ってみましょう。
まずはただ要素の中身を表示するだけのプログラム。
#include <stdio.h>
int main(void){
int a[5] = {1,5,3,4,2};
for( int i=0; i < 5; i++){
printf("%d\n",a[i]);
}
}
実行結果:
1 5 3 4 2 続行するには何かキーを押してください . . .
次に左から順に入れ替えていきます。
#include <stdio.h>
int main(void){
int a[5] = {1,5,3,4,2};
bool irekae; //入れ替えを判断するために変数を宣言
do{
irekae= false; //ここで入れ替え処理が必要なければ終了
for( int i=0; i < 4; i++){ //入れ替え処理
if( a[i] > a[i+1]){
int b = a[i];
a[i] = a[i+1];
a[i+1] = b;
irekae = true; //入れ替え処理が行われていればtrue
}
}
if( irekae == false ){
printf("入れ替え終了。\n");
}
for( int i=0; i < 5; i++){
printf("%d ",a[i]);
}
printf("\n");
}while( irekae == true ); //trueならば繰り返す
}
実行結果:
1 3 4 2 5 1 3 2 4 5 1 2 3 4 5 -ここで入れ替え終了- 1 2 3 4 5 続行するには何かキーを押してください . . .
