пожалуйста помогите найти ошибку в коде, не верно сортирует: нужно четные эл-ты отсортировать по возрастанию,а нечетные по убыванию СИ++ я уже все перепроверила никак не получается найти
{ srand(time(0));
int n,i,s,k,j,d,max;
setlocale(LC_ALL,"rus");
cout<<" n=";
cin>>n;
int a[n],b[n],c[n];
for (i=0; i a[i]=rand()%20-10;
cout<<" a[n]=";
cout<<"\n";
for (i=0; i {
cout< }
i=0;
k=0;
j=0;
do
{
if(a[i]%2==0)
{
c[k]=a[i];
k++;
}
else
{
b[j]=a[i];
j++;
}
i++;
}
while(i for(i=0; i {
for(d=0;d {
if(c[d] {
max=c[d];
c[d]=c[d+1];
c[d+1]=max;
}
}
}
for(j=0; j {
for(d=0;d {
if(c[d] {
max=c[d];
c[d]=c[d+1];
c[d+1]=max;
}
}
}
j=0;
i=0;
d=0;
for(j if(d {
a[i]=c[d];
d++;
}
else
{
a[i]=a[j];
j++;
}
for(i cout< return 0;
}
Answers & Comments
результат работы программы:
n = 15
Array:
92 3 37 69 92 95 72 35 79 77 9 39 56 79 44
Sorted array:
92 3 92 35 79 39 72 69 56 77 44 79 37 95 9
{
for (int j=i+1; j<n; j++)
if (((a[j]>a[i]) && (a[i]%2!=0) && (a[j]%2!=0))
|| ((a[j]<a[i]) && (a[i]%2==0) && (a[j]%2==0)))
swap(a[i],a[j]);