Удалить из последовательности все нечетные элементы, затем отсортировать ее по возрастанию - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана последовательность из n целых элементов. Удалить из нее все нечетные элементы, затем отсортировать ее по возрастанию. Вывести на экран исходную последовательность до удаления, после удаления и после сортировки. Подскажите пожалуйста, что-то вообще ничего не понимаю

Решение задачи: «Удалить из последовательности все нечетные элементы, затем отсортировать ее по возрастанию»

textual
Листинг программы
#include <iostream>
#include <ctime>
using namespace std;
void main()
{
    setlocale(LC_ALL,"Russian");
    srand(time(0));
    int n=0;
    printf("Введите n: ");
    scanf("%d", &n);
    int *Mas=new int [n];
    int k=0;
    printf("Массив без изменений: ");
    for(int i=0;i<10;i++)
    {
        Mas[i]=(rand() % 100);
        if(Mas[i]%2==0)
        {
            k++;
        }
        printf("%d ", Mas[i]);
    }
    printf("Массив без нечетных чисел: ");
    int *Mas1=new int [k];
    int i=0;
    int j=0;
    while(i!=10)
    {
        if(Mas[i]%2==0)
        {
            Mas1[j]=Mas[i];
            printf("%d ", Mas1[j]);
            j++;
        }
        i++;
    }
    int temp=0;
    for (int j = 0; j < k; j++)
    {
    for(int i=0;i<k-1;i++)
    {
        if(Mas1[i]>Mas1[i+1])
        {
            temp=Mas1[i];
            Mas1[i]=Mas1[i+1];
            Mas1[i+1]=temp;
        }
    }
    }
    printf("Сортировка по возрастанию: ");
    for(int i=0;i<k;i++)
    {
        printf("%d ", Mas1[i]);
    }
}

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы для работы с языком C++
  2. Устанавливается русскоязычная локаль с помощью функции setlocale
  3. Инициализируется генератор случайных чисел с помощью функции srand и времени с помощью функции time
  4. Объявляется переменная n типа int для хранения количества элементов в массиве
  5. С помощью функции printf выводится сообщение с просьбой ввести значение n
  6. С помощью функции scanf происходит считывание значения n и его сохранение в переменной n
  7. Динамически выделяется память под массив Mas типа int с размером n
  8. Инициализируются первые 10 элементов массива Mas с помощью генератора случайных чисел, при этом нечетные числа не добавляются в массив
  9. Выводится сообщение Массив без изменений: и все элементы массива Mas
  10. Создается новый массив Mas1 типа int размером k, где k - количество четных чисел в массиве Mas
  11. В цикле while заполняется массив Mas1 только четными числами из массива Mas
  12. Выводится сообщение Массив без нечетных чисел: и все элементы массива Mas1
  13. В цикле for производится сортировка массива Mas1 по возрастанию с помощью алгоритма сортировки пузырьком
  14. Выводится сообщение Сортировка по возрастанию: и все элементы массива Mas1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы