Решение задачи о статистике с использованием векторов
Информатика

Как можно решить задачу о статистике C++ с использованием векторов? Вася не обладает любовью к английскому языку

Как можно решить задачу о статистике C++ с использованием векторов? Вася не обладает любовью к английскому языку, но он всегда стремится получать хотя бы четвёрку за каждую четверть, чтобы сохранить свое статус ударника. В этой четверти Вася заметил определенную закономерность: в нечетные дни месяца он получал оценку "тройка", а в четные дни - "четверка". Он также помнит, в какие дни он получал каждую оценку. В связи с этим, Вася записал все эти дни на бумажке, чтобы определить количество троек и четверок. Васе нужно расположить четные и нечетные числа в разных строках, чтобы оценить, сколько у него троек и четверок. Он сможет рассчитывать на оценку "четверка", если количество четверок не меньше количества троек. Входные данные:
Верные ответы (1):
  • Пупсик
    Пупсик
    46
    Показать ответ
    Суть вопроса: Решение задачи о статистике с использованием векторов в C++

    Описание: Для решения данной задачи можно использовать векторы в C++. Векторы представляют собой динамические массивы, которые позволяют хранить и манипулировать набором элементов. В нашем случае, можно создать два вектора: один для хранения оценок "тройка", и второй - для хранения оценок "четверка". Затем необходимо пройтись по каждому дню, записанному Васей, и в зависимости от четности или нечетности дня добавить оценку в соответствующий вектор.

    Вот как выглядит примерный код для решения данной задачи:

    cpp
    #include
    #include

    int main() {
    std::vector troika; // вектор для оценки "тройка"
    std::vector chetverka; // вектор для оценки "четверка"

    int day, grade;

    while (true) {
    std::cout << "Введите день (0 для завершения): ";
    std::cin >> day;

    if (day == 0) {
    break;
    }

    std::cout << "Введите оценку (3 - тройка, 4 - четверка): ";
    std::cin >> grade;

    if (grade == 3) {
    troika.push_back(day);
    } else if (grade == 4) {
    chetverka.push_back(day);
    } else {
    std::cout << "Некорректная оценка! Попробуйте еще раз." << std::endl;
    }
    }

    std::cout << "Дни с оценкой "тройка": ";
    for (int day : troika) {
    std::cout << day << " ";
    }
    std::cout << std::endl;

    std::cout << "Дни с оценкой "четверка": ";
    for (int day : chetverka) {
    std::cout << day << " ";
    }
    std::cout << std::endl;

    return 0;
    }


    Например:
    Задача: Вася записал в последовательности свои оценки за каждый день месяца, где нечетные дни он получал оценку "тройка", а четные дни - "четверка". Вот его запись: 3 4 3 4 3 4 3 4 3 4 3 4. Расположьте четные и нечетные числа в разных строках, чтобы определить, сколько оценок "тройка" и "четверка" он получил.

    Решение:

    Введите день (0 для завершения): 1
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 2
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 3
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 4
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 5
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 6
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 7
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 8
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 9
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 10
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 11
    Введите оценку (3 - тройка, 4 - четверка): 3
    Введите день (0 для завершения): 12
    Введите оценку (3 - тройка, 4 - четверка): 4
    Введите день (0 для завершения): 0

    Дни с оценкой "тройка": 1 3 5 7 9 11
    Дни с оценкой "четверка": 2 4 6 8 10 12


    Совет: Для лучшего понимания использования векторов в C++, рекомендуется ознакомиться с документацией и примерами использования этой структуры данных в языке C++.

    Задача для проверки:
    Вася единственный из школы имеет печатную версию своей записи оценок. Ему нужно определить медиану своих оценок за каждый месяц. Напишите программу, которая будет принимать значения оценок из записи Васи и вычислять медиану. Предоставьте медиану для каждого месяца от января до декабря, включительно.
Написать свой ответ: