2016-04-10 13 views
-1

Çıktı olmalıdır ve hatta tek ikinci sırasını biri azalan iki diziyi oluşturma gibi:

büyükten küçüğe Hatta Dizi: 8
büyükten küçüğe bile Dizisi: 6
büyükten küçüğe bile Dizisi: 4 Azalan Düzende
Hatta Dizisi: 2
büyükten küçüğe bile Dizisi: 0

büyükten küçüğe Tek Dizisi: 9
büyükten küçüğe Tek Dizisi: 7
büyükten küçüğe Tek Dizisi: 5Azalan Düzende Tek Dizisi: Azalan Düzende 3
Tek Dizisi: 1sırasıyla

#include<stdio.h> 

void main() 
{ 
    int i=0,j=0,k=0,odd[5],even[5],temp; 

    for(i=0;i<10;i++) 
    { 
     if(i%2==0) 
     { 

       even[j]=i; 
       j++; 
     } 
     else 
     { 

       odd[k]=i; 
       k++; 
     } 
    } 

    for(i=0;i<5;i++) 
    { 
     for(j=1;j<6;j++) 
     { 
      if(even[i]<even[j]) 
      { 
       temp=even[j]; 
       even[j]=even[i]; 
       even[i]=temp; 
      } 
     } 
     printf("Even Array in Descending order: %d \n",even[i]); 
    } 

    for(i=0;i<5;i++) 
    { 
     for(j=1;j<6;j++) 
     { 
      if(odd[i]<odd[j]) 
      { 
       temp=odd[j]; 
       odd[j]=odd[i]; 
       odd[i]=temp; 
      } 
     } 
     printf("Odd Array in Descending order: %d \n",odd[i]); 
    } 
} 
+0

Gerçek ve özel sorunuz nedir? – kaylum

+0

'için (j = 1; j <6; j ++)' j '' 5' olduğunda sınır değerinden çıkışa neden olacaktır, çünkü geçerli 'çift/tek 'dizi indisleri' '' '' '' dür. – kaylum

cevap

0

yanınızda gelen küçük bir hata, size öncelikle for(j=1;j<6;j++) çalıştırarak dizi sınırlarını aşan ve edilir sıralama yaparken böylece gerekenler kodunuzda birkaç değişiklik yapmak. Dış döngü sadece 4 kez çalışır beri döngüler için sonra tek printf() deyimi ekleyin:

İlk:

for(i = 0; i < 4; i++) { 
    for(j = i + 1; j < 5; j++) { 

    } 
} 

İkinci olarak döngü için çalışmalıdır.

bu tamamlanana bakın:

#include<stdio.h> 

int main() 
{ 
    int i=0,j=0,k=0,odd[5],even[5],temp; 

    for(i=0;i<10;i++) 
    { 
     if(i%2==0) 
     { 

       even[j]=i; 
       j++; 
     } 
     else 
     { 

       odd[k]=i; 
       k++; 
     } 
    } 

    for(i=0;i<4;i++) 
    { 
     for(j= i + 1;j<5;j++) 
     { 
      if(even[i]<even[j]) 
      { 
       temp=even[j]; 
       even[j]=even[i]; 
       even[i]=temp; 
      } 
     } 
     printf("Even Array in Descending order: %d \n",even[i]); 
    } 
    printf("Even Array in Descending order: %d \n",even[i]); 
    for(i=0;i<4;i++) 
    { 
     for(j= i + 1;j<5;j++) 
     { 
      if(odd[i]<odd[j]) 
      { 
       temp=odd[j]; 
       odd[j]=odd[i]; 
       odd[i]=temp; 
      } 
     } 
     printf("Odd Array in Descending order: %d \n",odd[i]); 
    } 
    printf("Odd Array in Descending order: %d \n",odd[i]); 
    return 0; 
} 

ziyaret Yardım Mutlu demo

için bu link!

İlgili konular