2014-01-23 130 views
-1

它沒有氣泡分類部分。但是當我把泡沫排序的時候,它說核心傾倒了。我找不到這個錯誤,所以我希望有人能幫助我。爲什麼核心轉儲?

#include<stdio.h> 
#define lim 2000 

int main() 
{ 
    int a[lim],i,j,t; 
    FILE *pf; 

    pf=fopen("ulaz.txt","r"); 

    for(i=0;i<lim;i++) 
    { 
     fscanf(pf,"%d",&a[i]); 
    } 

    fclose(pf); 

    for(i=lim-1;i>=0;i--) 
    { 
     for(j=1;j<=i;i++) 
     { 
      if(a[i]>a[i-1]) 
      { 
       t=a[i]; 
       a[i]=a[i-1]; 
       a[i-1]=a[i]; 
      } 
     } 
    } 


    for(i=0;i<lim;i++) 
    { 
     printf("%d ",a[i]); 
    } 

    puts("\n"); 
    return 0; 
} 
+4

最明顯的錯誤的第一次迭代是不存在壓痕。 – 2014-01-23 18:48:21

回答

2
for(j=1;j<=i;i++) 

應該是

for(j=1;j<=i;j++) 

否則我去LIM-1的上方在內部循環