Удалить из последовательности все нечетные элементы, затем отсортировать ее по возрастанию - 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]);
- }
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы для работы с языком C++
- Устанавливается русскоязычная локаль с помощью функции setlocale
- Инициализируется генератор случайных чисел с помощью функции srand и времени с помощью функции time
- Объявляется переменная n типа int для хранения количества элементов в массиве
- С помощью функции printf выводится сообщение с просьбой ввести значение n
- С помощью функции scanf происходит считывание значения n и его сохранение в переменной n
- Динамически выделяется память под массив Mas типа int с размером n
- Инициализируются первые 10 элементов массива Mas с помощью генератора случайных чисел, при этом нечетные числа не добавляются в массив
- Выводится сообщение
Массив без изменений:
и все элементы массива Mas - Создается новый массив Mas1 типа int размером k, где k - количество четных чисел в массиве Mas
- В цикле while заполняется массив Mas1 только четными числами из массива Mas
- Выводится сообщение
Массив без нечетных чисел:
и все элементы массива Mas1 - В цикле for производится сортировка массива Mas1 по возрастанию с помощью алгоритма сортировки пузырьком
- Выводится сообщение
Сортировка по возрастанию:
и все элементы массива Mas1
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д