Удалить из последовательности все нечетные элементы, затем отсортировать ее по возрастанию - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д