Дана последовательность из n целых чисел. Сформировать новую последовательность - C (СИ)
Формулировка задачи:
Всем добрый день.
Дана последовательность из n целых чисел. Сформировать новую последовательность которой сначала расположены в порядке возрастания все чётные (по значению) элементы исходной последовательности, а затем в порядке убывания все нечётные. Все последовательности вывести на экран: исходную и последовательную.
Буду очень благодарен.
Решение задачи: «Дана последовательность из n целых чисел. Сформировать новую последовательность»
textual
Листинг программы
#include <stdio.h>
#include <locale>
#include <conio.h>
int main(void)
{
setlocale (LC_ALL, "Russian");
setlocale (LC_ALL, "rus");
int size;
int * arr;
printf("Введите размер массива: ");
scanf("%d",&size);
arr=new int[size];
printf("Элементы массива:\n");
for(int i=0;i<size;++i)
{
printf("Елемент № %d = ",i);
scanf("%d",arr+i);
}
printf("\nЧётные:\n");
for(int i=0;i<size;++i)
if(!(arr[i]&1))
printf("%d ",arr[i]);
printf("\nНечётные:\n");
for(int i=size-1;i>=0;--i)
if(arr[i]&1)
printf("%d ",arr[i]);
getchar();
getchar();
return 0;
}
Объяснение кода листинга программы
В этом коде:
- #include
Включается заголовочный файл, который содержит функции для ввода и вывода данных. - #include
Включается заголовочный файл, который содержит функции для работы с локалью. - #include
Включается заголовочный файл, который содержит функции для работы с консолью. - int main(void) Функция main() является точкой входа в программу.
- setlocale (LC_ALL,
Russian); Устанавливается русская локаль. - setlocale (LC_ALL,
rus); Устанавливается русская локаль. - int size; Объявляется переменная типа int для хранения размера массива.
- *int arr;** Объявляется указатель на переменную типа int для хранения адреса первого элемента массива.
- printf(
Введите размер массива:); Выводится приглашение для ввода размера массива. - scanf(
%d,&size); Считывается значение размера массива с помощью функции scanf(). - arr=new int[size]; Динамически выделяется память под массив size элементов.
- printf(
Элементы массива:\n); Выводится приглашение для ввода элементов массива. - for(int i=0;i<size;++i) Начальные значения переменных цикла.
- printf(
Елемент № %d =,i); Выводится номер текущего элемента массива. - scanf(
%d,arr+i); Считывается значение текущего элемента массива. - printf(
\nЧётные:\n); Выводится приглашение для вывода чётных элементов массива. - for(int i=0;i<size;++i) Начальные значения переменных цикла.
- if(!(arr[i]&1)) Проверяется, является ли элемент массива чётным.
- printf(
%d,arr[i]); Выводится чётный элемент массива. - printf(
\nНечётные:\n); Выводится приглашение для вывода нечётных элементов массива. - for(int i=size-1;i>=0;--i) Начальные значения переменных цикла.
- if(arr[i]&1) Проверяется, является ли элемент массива нечётным.
- printf(
%d,arr[i]); Выводится нечётный элемент массива. - getchar(); Считывается символ из стандартного ввода.
- getchar(); Считывается символ из стандартного ввода.
- return 0; Функция main() возвращает 0, что означает успешное завершение программы.