Dizilerde Sıralama



Tanımlanan Bir Dizide Tek ve Çift Sayıları Sıralama Yapımı

#include <stdio.h>
#include <locale.h>
#define boyut 10

int *ciftsirala(int[]);
int *teksirala(int[]);
int main()
{
setlocale(LC_ALL,"Turkish");
int k=9,j=0,i,takas;
int a[boyut]={4,8,3,1,18,9,21,20,2,17};

printf("\n DİZİ \n ");
for(i=0;i<boyut;i++)
{
printf("%d\t",a[i]);
}
for(i=0;i<boyut;i++)
{
if(a[i]%2==0)
{
takas=a[j];
a[j]=a[i];
a[i]=takas;
j++;
}

}

for(i=0;i<boyut;i++)
{
if(a[i]%2==1)
{
takas=a[k];
a[k]=a[i];
a[i]=takas;
k--;
}
}

printf("\nÇİFTLER BAŞA TEKLER SONA \n");
for(i=0;i<boyut;i++)
{
printf("%d\t",a[i]);
}
int *cson;
cson=ciftsirala(a);
printf("\nÇİFT SİRALANAN\n");
for(i=0;i<boyut;i++)
{
printf("%d\t",*(cson+i));
}

cson=teksirala(a);


printf("\n ÇİFT VE TEK SIRALANAN \n ");
for(i=0;i<boyut;i++)
{
printf("%d\t",*(cson+i));
}

}

int *ciftsirala(int d[])
{
int takas2=0;
for(int p=0;p<boyut-1;p++)
{
for(int r=0;r<boyut-p-1;r++)
{
if((d[r]%2==0)&&(d[r]>d[r+1])  )
{
takas2=d[r];
d[r]=d[r+1];
d[r+1]=takas2;
}
}
}
return d;
}


int *teksirala(int e[])
{
int takas3=0;
for(int l=0;l<boyut;l++)
{
for(int m=0;m<boyut-l-1;m++)
{
if((e[m]%2==1)&&(e[m]>e[m+1])  )
{
takas3=e[m];
e[m]=e[m+1];
e[m+1]=takas3;
}
}
}
return e;
}

Bu blogdaki popüler yayınlar