0memo/2011_2_26

Last-modified: 2011-02-27 (日) 11:32:00

要素の中身を入れ替えていくプログラムを作ってみましょう。
まずはただ要素の中身を表示するだけのプログラム。

#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 
続行するには何かキーを押してください . . .