Пожалуйста помогите найти ошибку в коде, не верно сортирует: нужно четные эл-ты...

0 голосов
46 просмотров

Пожалуйста помогите найти ошибку в коде, не верно сортирует: нужно четные эл-ты отсортировать по возрастанию,а нечетные по убыванию СИ++ я уже все перепроверила никак не получается найти
{ srand(time(0));
int n,i,s,k,j,d,max;
setlocale(LC_ALL,"rus");
cout<<" n=";<br> cin>>n;
int a[n],b[n],c[n];
for (i=0; i a[i]=rand()%20-10;
cout<<" a[n]=";<br> cout<<"\n";<br> 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;
}


Информатика (155 баллов) | 46 просмотров
0

я правильно поняла, что мой код верно работает? или все же, что-то нужно переделать ?

0

цикл предусловие

0

мой комп не все копирует из-за этого такие обрезки кода получились

0

я когда копировала было нормально написано, а когда отправила, то он автоматически обрезал его таким образом

0

я не подумала об этом, ладно все равно спасибо за помощь

Дан 1 ответ
0 голосов

Решение в прикрепленном файле.

результат работы программы:
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 





Скачать вложение Текст (TXT)
(9.7k баллов)
0

Там же написано отсортировать по четности самих чисел, а не по четности позиций этих чисел

0

Ну вообще это однозначно трактуется, если бы нужно было отсортировать по индексу, так бы и было написано. Другое дело, надо ли сохранять при выводе отсортированного массива очередность чет / нечет. По логике, нужно, что я и сделал, но видимо, постстартеру требуется что-то другое.

0

Если четные ЭЛЕМЕНТЫ по возрастанию, нечетные по убыванию, то нужно поменять 2 строки в сортировке: for (int i=0; i {
for (int j=i+1; j if (((a[j]>a[i]) && (a[i]%2!=0) && (a[j]%2!=0))
|| ((a[j] swap(a[i],a[j]);