
Помогите написать программу си++ вот условие задачи: задан массив целых чисел. Отсортировать четные
элементы массива по возрастанию, а нечетные по убыванию. Очень срочно нужно

Ответы на вопрос

#include <iostream>
using namespace std;
int main(void)
{const int n=6;
int arr[n],c;
for(int i=0;i<n;i++)
cin>>arr[i];
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(arr[i]>arr[j] && arr[i]%2==0 && arr[j]%2==0)
{c=arr[i];
arr[i]=arr[j];
arr[j]=c;}
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(arr[i]<arr[j] && arr[i]%2!=0 && arr[j]%2!=0)
{c=arr[i];
arr[i]=arr[j];
arr[j]=c;}
cout<<"Array"<<endl;
for(int i=0;i<n;i++)
cout<<arr[i]<<" ";
return 0;}
Пример ввода:
2 6 4 1 5 3
Пример вывода:
Array
2 4 6 5 3 1



Конечно, я могу помочь вам написать программу на языке C, которая решит данную задачу. Вот пример решения:
```c
#include
void sortEven(int arr[], int size) { int temp; for (int i = 0; i < size; i++) { for (int j = i + 1; j < size; j++) { if (arr[i] % 2 == 0 && arr[j] % 2 == 0 && arr[i] > arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } }
void sortOdd(int arr[], int size) { int temp; for (int i = 0; i < size; i++) { for (int j = i + 1; j < size; j++) { if (arr[i] % 2 != 0 && arr[j] % 2 != 0 && arr[i] < arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } }
void printArray(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } printf("\n"); }
int main() { int arr[] = {5, 19, 27, 8, 12, 3, 17, 10}; int size = sizeof(arr) / sizeof(arr[0]);
printf("Исходный массив: "); printArray(arr, size);
sortEven(arr, size); printf("Отсортированные четные элементы по возрастанию: "); printArray(arr, size);
sortOdd(arr, size); printf("Отсортированные нечетные элементы по убыванию: "); printArray(arr, size);
return 0; } ```
Выше представлен пример программы, которая сортирует четные и нечетные элементы массива по заданным условиям. В этом примере используется алгоритм сортировки пузырьком для каждого типа элементов.
Программа начинается с объявления функций `sortEven`, `sortOdd` и `printArray`. Функция `sortEven` сортирует четные элементы массива по возрастанию, а функция `sortOdd` сортирует нечетные элементы по убыванию. Функция `printArray` просто выводит массив на экран.
Затем в функции `main` создается исходный массив, выводится на экран, сортируются четные элементы, затем выводятся, сортируются нечетные элементы и снова выводятся. Вывод осуществляется с помощью функции `printArray`.
После запуска этой программы, вы должны увидеть исходный массив, отсортированные четные элементы по возрастанию и отсортированные нечетные элементы по убыванию.
Надеюсь, это поможет вам решить вашу задачу! Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili