Дана последовательность из 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;
}

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

В этом коде:

  1. #include Включается заголовочный файл, который содержит функции для ввода и вывода данных.
  2. #include Включается заголовочный файл, который содержит функции для работы с локалью.
  3. #include Включается заголовочный файл, который содержит функции для работы с консолью.
  4. int main(void) Функция main() является точкой входа в программу.
  5. setlocale (LC_ALL, Russian); Устанавливается русская локаль.
  6. setlocale (LC_ALL, rus); Устанавливается русская локаль.
  7. int size; Объявляется переменная типа int для хранения размера массива.
  8. *int arr;** Объявляется указатель на переменную типа int для хранения адреса первого элемента массива.
  9. printf(Введите размер массива:); Выводится приглашение для ввода размера массива.
  10. scanf(%d,&size); Считывается значение размера массива с помощью функции scanf().
  11. arr=new int[size]; Динамически выделяется память под массив size элементов.
  12. printf(Элементы массива:\n); Выводится приглашение для ввода элементов массива.
  13. for(int i=0;i<size;++i) Начальные значения переменных цикла.
  14. printf(Елемент № %d =,i); Выводится номер текущего элемента массива.
  15. scanf(%d,arr+i); Считывается значение текущего элемента массива.
  16. printf(\nЧётные:\n); Выводится приглашение для вывода чётных элементов массива.
  17. for(int i=0;i<size;++i) Начальные значения переменных цикла.
  18. if(!(arr[i]&1)) Проверяется, является ли элемент массива чётным.
  19. printf(%d,arr[i]); Выводится чётный элемент массива.
  20. printf(\nНечётные:\n); Выводится приглашение для вывода нечётных элементов массива.
  21. for(int i=size-1;i>=0;--i) Начальные значения переменных цикла.
  22. if(arr[i]&1) Проверяется, является ли элемент массива нечётным.
  23. printf(%d,arr[i]); Выводится нечётный элемент массива.
  24. getchar(); Считывается символ из стандартного ввода.
  25. getchar(); Считывается символ из стандартного ввода.
  26. return 0; Функция main() возвращает 0, что означает успешное завершение программы.

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

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