Загрузка данных


#include <stdio.h>      // Подключение библиотеки для стандартного ввода/вывода[span_7](start_span)[span_7](end_span)
#include <stdlib.h>     // Подключение библиотеки для system("pause")[span_8](start_span)[span_8](end_span)
#include <locale.h>     // Подключение библиотеки для локализации[span_9](start_span)[span_9](end_span)

// Предусловия: n - любое целое число[span_10](start_span)[span_10](end_span)
// Постусловия: функция возвращает истину, если n - нечетное число[span_11](start_span)[span_11](end_span)
bool out_number(int n)[span_12](start_span)[span_12](end_span)[span_13](start_span)[span_13](end_span)
{
    // ================================== для блок-схемы[span_14](start_span)[span_14](end_span)
    if (n % 2 != 0) // если число нечетное[span_15](start_span)[span_15](end_span)[span_16](start_span)[span_16](end_span)
        return true;  // функция возвращает истину[span_17](start_span)[span_17](end_span)
    else
        return false; // если не выполняется возвращается ложь[span_18](start_span)[span_18](end_span)

    // ================================== краткий вариант[span_19](start_span)[span_19](end_span)
    // return (n % 2 != 0);[span_20](start_span)[span_20](end_span)
}

int main()[span_21](start_span)[span_21](end_span)
{
    // Считает кол-во нечетных чисел, перемножает все нечетные и по заданию находит позицию 4-го числа[span_22](start_span)[span_22](end_span)
    // Предусловие: последовательность целых чисел вводится пользователем через пробел[span_23](start_span)[span_23](end_span)
    // Постусловие: нахождение количества, произведения нечетных чисел и номера четвертого нечетного числа[span_24](start_span)[span_24](end_span)
    setlocale(LC_ALL, "Russian"); // Включение вывода русского текста в консоли Windows[span_25](start_span)[span_25](end_span)

    int n;          // Объявление переменной для считывания текущего числа[span_26](start_span)[span_26](end_span)
    int k = 0;      // Счетчик количества найденных нечетных чисел[span_27](start_span)[span_27](end_span)
    long long P = 1;// Переменная для вычисления произведения нечетных чисел[span_28](start_span)[span_28](end_span)
    int j = 0;      // Счетчик общего порядкового номера числа в последовательности[span_29](start_span)[span_29](end_span)
    int Num = 0;    // Переменная для хранения номера четвертого нечетного числа[span_30](start_span)[span_30](end_span)

    printf("Введите числа через пробел, по окончании нажмите enter:\n"); // Вывод подсказки пользователю[span_31](start_span)[span_31](end_span)

    do // используем ду вайл чтобы условие гарантировано сработало один раз (минимум)[span_32](start_span)[span_32](end_span)
    {
        scanf("%d", &n); // Считывание очередного числа из консоли[span_33](start_span)[span_33](end_span)
        j++;             // Увеличение общего счетчика позиции текущего числа[span_34](start_span)[span_34](end_span)

        // Вызов функции проверки нечетности[span_35](start_span)[span_35](end_span)[span_36](start_span)[span_36](end_span)
        if (out_number(n))[span_37](start_span)[span_37](end_span)[span_38](start_span)[span_38](end_span)
        {
            k++;    // Увеличение счетчика нечетных чисел[span_39](start_span)[span_39](end_span)
            P *= n; // Накопление произведения нечетных чисел[span_40](start_span)[span_40](end_span)

            if (k == 4) // Проверка: если встретилось четвертое нечетное число[span_41](start_span)[span_41](end_span)
            {
                Num = j; // Запоминаем его порядковый номер в общей последовательности[span_42](start_span)[span_42](end_span)
            }
        }
    } while (getchar() != '\n'); // Повторять цикл, пока пользователь не нажмет Enter[span_43](start_span)[span_43](end_span)

    if (k > 0) // Если в последовательности было хотя бы одно нечетное число[span_44](start_span)[span_44](end_span)
    {
        printf("Количество нечетных чисел: %d, произведение нечетных чисел: %lld\n", k, P);[span_45](start_span)[span_45](end_span)
    }
    else // Если нечетных чисел не оказалось вовсе[span_46](start_span)[span_46](end_span)
    {
        printf("Нечетных чисел в последовательности нет.\n");[span_47](start_span)[span_47](end_span)
    }

    if (Num != 0) // Если четвертое нечетное число было найдено[span_48](start_span)[span_48](end_span)
    {
        printf("Номер в последовательности четвертого нечетного числа: %d\n", Num);[span_49](start_span)[span_49](end_span)
    }
    else // Если найдено меньше 4 нечетных чисел[span_50](start_span)[span_50](end_span)
    {
        printf("Нечетных чисел меньше 4\n");[span_51](start_span)[span_51](end_span)
    }

    system("pause"); // Задержка экрана консоли перед закрытием[span_52](start_span)[span_52](end_span)
    return 0;
}