Помогите пожалуйста нужно отсортировать четные элементы массива а не четные оставить на своих местах.
Например ввожу 14 52 6 8 4 —— 1 и 5 не четные они стоят на месте а четные сортируются вот что выходит --— 1 2 5 4 4 6 8.
Вот код но он сортирует все элементы массива
#include <iostream>
#include <stdlib.h>
#include <conio.h>
int form (int a[100])
{
int n;
printf («\n enter » ) ;
scanf («%d»,&n);
for (int i=0; i<n; i++)
a=rand()%15;
return n;
}
void print (int a[100], int n)
{
for (int i=0; i<n; i++)
printf («%d »,a);
printf («\n» );
}
void dell (int a[100], int &n)
{
int i;
int t;
int j=0, b [100];
for ( i=0; i<n; i++)
if (a %2!=0 )
{
for (int i=0;i<n;i++)
for (int j=0; j<n;j++)
if (a[j] > a[j+1]) {
t = a[j];
a[j] = a[j+1];
a[j+1] = t ;
}
}
}
int main ()
{
int a[100];
int n;
n=form(a);
print (a,n);
dell (a,n);
print (a,n);
}
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
У вас ошибка в функции dell.
Нужный вам алгоритм следующий: обычная пузырьковая (ну что может быть проще?) сортировка. Но, в дополнение к обычному условию сортировки, вам нужно добавить проверку обоих элементов на чётность.
ru.wikipedia.org/wiki/%D0%9F%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0
PS. Мои глаза! Неужели нельзя отформатировать код с отступами???
спасибо я уже сама