アットウィキロゴ

lab6

#include<stdio.h>
#define N 100000
void change(int *,int *);
void bubblesort(int *a,int b);
int main(int argc,char* argv[])
{
	int a[N];
	int b,c,i;
	//FILE *fp;
	//fp = fopen("../aaa.dat", "r");
	scanf("%d",&b);
	//fscanf(fp,"%d", &b);//全部でいくつあるかをbに代入
	for(i=0;i<b;i++){
		scanf("%d",&c);
		//fscanf(fp,"%d", &c);//それぞれの数を一つずつ配列に入れる
		a[i]=c;
	}
	bubblesort(a,b);//バブルソートをする関数を呼び出す
for(i=0;i<b;i++)
 {
  printf("%d ",a[i]);
 }
	//fclose(fp);
return 0;
}
/*aの値とbの値を入れ替える関数*/
void change(int *a,int *b)
{
int c;
c=*a;
*a=*b;
*b=c;
}
/*バブルソートをする関数*/
void bubblesort(int *a,int b){
	int i,j;
	for(i=0;i<b;i++){
		for(j=b-1;j>0;j--){
			if(a[j-1]>a[j]) change(&a[j-1],&a[j]);
			}
        }

}
これはファイルの部分をコメントアウトしてあります。とりあえずこのまま
実行してください。実行して一回目に入力するのが整列する数の数です。
その後は、配列に入力する数です。分かりにくい。
実行が成功したら、scanf();すべてをコメントアウト(その文章の前に//)
を入れる。そんで、最初のコメントアウトを全部はずします。んで、ファイルを・・・・まぁ分からなかったら呼んでください、俺を。

タグ:

+ タグ編集
  • タグ:
最終更新:2007年06月05日 13:18