ID非公開

2020/8/7 20:53

11回答

C言語の問題について質問です。バブルソートを使い整数を昇順に並べるという問題です。

C言語の問題について質問です。バブルソートを使い整数を昇順に並べるという問題です。 問題 乱数で1~100までの整数を20個生成し、バブルソートにより昇順に並べ替えるプログラムを作成してください。 関数などはあまり変えずに私が書いたものを手直しするような形で回答していただけないでしょうか。(そもそもが間違ってたら変えてください。)もし時間があるのなら何がダメだったのか指摘していただけると幸いです。 #include <stdio.h> #include <stdlib.h> #define SIZE 20 void output(int data[],int size){ int i; for(i = 0; i < size; i++){ printf("%d",data[i]); } printf("\n"); } int main(void){ int i; int data[SIZE]; int size = SIZE; //こうしろという指定でした int seed; printf("Seed?="); scanf("%d", &seed); srand(seed); for(i = 0; i < size; i++){ data[i] = rand()%100+1; } output(data,size); //この辺からが特によく分からないです・・ { int i,j,tmp; for(i=0; i < size - 1; i++){ for(j = size - 1; j > i; j--){ if(data[j-1] > data[j]){ tmp = data[j-1]; data[j-1] = data[j]; data[j] = tmp; } } } } output(data,size); return 0; }

C言語関連 | プログラミング14閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

1

特に間違ってはいない様なので、 7行目あたりの printf("%d",data[i]); を printf("%d ",data[i]); などとして、 数字の切れ目がわかるようにすればいいだけではないでしょうか?

1人がナイス!しています

ThanksImg質問者からのお礼コメント

ありがとうございます!! スペース開けてなくて大きな数字が出てきてあきらめてたんですけどあと一歩だったんですね・・・

お礼日時:8/8 20:15