Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем все нечетные в порядке убывания индексов - C (СИ)

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

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

Дан целочисленный массив размера N. Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем — все нечетные числа в порядке убывания их индексов.
#include <stdio.h>
#include <locale>
#include <conio.h>
int main(void)
{ 
    setlocale (LC_CTYPE, "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]);
    getch();
    return 0;
}
Мож кто помочь плиз...нужно эту программу сделать с функциями плиз...буд оч. благодарен!!
прошу помощи плиз..хелп

Решение задачи: «Вывести вначале все содержащиеся в данном массиве четные числа в порядке возрастания их индексов, а затем все нечетные в порядке убывания индексов»

textual
Листинг программы
#include <stdio.h>
#include <locale>
#define MAX 20
void chet(int vector[], int n);
void ne_chet(int vector[], int n);
int main(void)
{
    int vector[MAX];         
    int n;
    setlocale (LC_CTYPE, "rus");
    printf("Введите количество значений массива:");
    scanf("%i", &n);
    printf("Элементы массива [%i]:  ", n);
    for(int i = 0; i<n; i++)  
    {
        scanf("%i", &vector[i]);
    }
    chet(vector,n);
    ne_chet(vector,n);
    return 0;
}
void chet(int vector[], int n)
{
    printf("\nЧётные:\n");
    for(int i=0;i<n;++i)
        if(!(vector[i]&1))
            printf("%d ",vector[i]);
    return;
}
void ne_chet(int vector[], int n)
{
    printf("\nНечётные:\n");
    for(int i=n-1;i>=0;--i)
        if(vector[i]&1)
            printf("%d ",vector[i]);
    return;
}

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

В этом коде определен массив целых чисел и функция, которая выводит на экран сначала все четные числа в порядке возрастания их индексов, а затем все нечетные в порядке убывания индексов. Список действий:

  1. Ввод количества значений массива с помощью функции scanf.
  2. Ввод элементов массива с помощью цикла for и функции scanf.
  3. Вызов функции chet для вывода четных чисел.
  4. Вызов функции ne_chet для вывода нечетных чисел.
  5. Возврат значения 0, что означает успешный конец работы программы. Функция chet выполняет следующие действия:
  6. Выводит на экран заголовок Чётные.
  7. Проверяет каждый элемент массива на четность с помощью оператора &1 (если число делится на 2 без остатка, то оно четное).
  8. Выводит на экран четные числа в порядке возрастания их индексов. Функция ne_chet выполняет следующие действия:
  9. Выводит на экран заголовок Нечётные.
  10. Проверяет каждый элемент массива на четность с помощью оператора &1 (если число делится на 2 без остатка, то оно нечетное).
  11. Выводит на экран нечетные числа в порядке убывания их индексов.

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


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

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

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