2016-03-20 35 views
0

C öğrenmeye çalışan yeni bir kullanıcıyım ve seçim dizisini kullanarak bir diziyi sıralamamız gerekiyor. Her yinelemeyi algoritma ilerledikçe göstermem gerekiyor. Ancak aşağıdaki kod çalışmasını yapamıyorum. Sıralama iterasyon bölümünün gösterimini yürütürken rastgele çöp numaraları atar (lütfen resme bakın). Çok fazla aradım ve hala bu hatanın nedenini çivilemiyorum. Lütfen yardım et. bu hat ; ile sona sahip T yapılan herhangi bir çalışma olmadan s'ye kadar sayısı anlamına gelir ve bu döngü sonra bir hat başlatılmamış değeri ile basılacak for (t=0;t<s;t++); : Program executionHer yinelemeyi C'deki Seçim sıralamasında nasıl yazdırırım?

#include<stdio.h> 
int main() 
{ 

int s,i,j,t,temp,a[20]; 
printf("Enter the number of elements in the array\n"); 
scanf("%d",&s); 

for(i=0;i<s;i++) 
    { 
     printf("Enter element %d\n",i+1); 
     scanf("%d",&a[i]); 
    } 

printf ("Selection sort.\narray before sorting:\n"); 
for (i=0;i<s;i++) 
    printf ("%d ",a[i]); 

printf ("\n"); 

for(i=0;i<s;i++) 
    { 
     printf ("After iteration %d\n", i+1); 
     for(j=i+1;j<s;j++) 
     { 
      if(a[i]>a[j]) 
       { 
       temp=a[i]; 
       a[i]=a[j]; 
       a[j]=temp; 
       } 
     } 
     for (t=0;t<s;t++); 
      printf ("%d ",a[t]); 
     printf ("\n"); 
    } 

printf("Array after sorting:\n"); 
for(i=0;i<s;i++) 
    printf ("%d ",a[i]); 

return 0; 
} 
+1

Sıralama döngüsü içindeki 'for' döngüsünden sonra noktalı virgülünüz var. Yazım hatası olarak kapatmak için oylama. – dasblinkenlight

+0

Gelecekte olabilecek sorunları önlemek için döngü içinde döngü değişkenlerini bildirin: for for (int t = 0; t dasblinkenlight

+0

Bana yardım etmek için zaman ayırdığınız için teşekkür ederiz! – KnightSB

cevap

2

problem bu çizgi a[s].

+0

Yarım kolonlu bir 'for cümlesi' sonlandırılıyor. Yani kucaklayan. Çok teşekkür ederim!! Şimdi çalıştı. Dediğim gibi, acemi. – KnightSB

İlgili konular