2014-01-23 101 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的上方在内部循环