랭킹중 버블 정렬 하는것인데요 봐주세요
사람
#includestdio.h
#includestdlib.h
#includestring.h
#includesys/types.h
#includesys/stat.h
#includeunistd.h
#define MAX 100
typedef struct{
char id[20],pwd[20],coin[5];
}GAME;
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void bubbleSort(int a[], int n)
{
int i, j;
for(i=2;in;i+=3)
for(j=5;jn;j+=3)
if(a[j-3]a[j])
swap(&a[j-3], &a[j]);
}
void printList(int a[], int n)
{
int i;
for(i=2;in;i+=3)
printf(%d ,a[i]);
printf(\n);
}
//void getList(int a[], int n)
//{
//int i;
//for(i=2;in;i+=3){
//printf(%d,i);
//}
int main(void){
FILE *fd;
char buffer[1024], *input[100],*input_2;
int i=0;
int j;
int a[MAX],b;
GAME game[MAX];
fd= fopen(tajja.data,r);
while(!(feof(fd)))
{
fscanf(fd, %s, buffer);
}
input_2 = strtok(buffer,:);
while(input_2 != NULL){
input[i]=input_2;
i++;
input_2=strtok(NULL,:);
}
for(j=0;ji;j+=3)
{
strcpy(game[j].id,input[j+0]);
strcpy(game[j].pwd,input[j+1]);
strcpy(game[j].coin,input[j+2]);
printf(☞%s☜===☞%s☜===☞%s☜\n,game[j].id,game[j].pwd,game[j].coin);
}
printf(-------------------------------------------------------);
printf(-------------------------------------------------------);
printf(-------------------------------------------------------);
printf(-------------------------------------------------------);
bubbleSort(a,b);
printf(\n정렬후:\n);
printList(a,b);
fclose(fd);
return 0;
}
버블정렬을해보려고하는데 제가 배열 2 번 5 번 8 번 이런순서로 끝에꺼만 정렬하려고하는데요
제가생각해도 많이 틀린부분이 많은거같은데 어뜨케 손을댈수가없어요;;;지금 세그멘테이션 오류가뜨는데
이거좀 도와주세요 .......