Вопрос задан 26.07.2023 в 14:39. Предмет Информатика. Спрашивает Гуцул Артём.

Ребят ,тут такое дело в общем как сказать компьютеру на языке С++ ,что человек вводит

неопределенное кол-во значений. Т.Е. вот пример : учительница выставляет оценки в журнал и из среднего арефметического получается четвертная . Как сказать компу на С++ ,что она введет 1 или 2 или 10 оценок(не суть),но при этом их кол-во варьируется :оценки Васи - 5 5 3 4 5. Пети - 4 4 5 5 4 5 5. Пж напишите прогу . Только простым текстом я начинающий!
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Рыжая Ксения.
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <numeric>
  5. int main()
  6. {
  7. std::vector<int> arrayOfDummies;
  8. for (char answer{0};;)
  9. {
  10.  std::cout << "You want to enter a rating?" << std::endl;
  11.  std::cin >> answer;
  12.  if (int value{0}; answer == 'y')
  13.  {
  14.   std::cout << "Enter rating:";
  15.   std::cin >> value;
  16.   arrayOfDummies.push_back(value);
  17.  }
  18.  else break;
  19. }
  20. std::cout << "Average: " << std::accumulate(arrayOfDummies.begin(), arrayOfDummies.end(), 0) /  
  21.  arrayOfDummies.size() << std::endl;
  22. }
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам написать программу на языке C++, которая будет вычислять среднее арифметическое оценок, вводимых пользователем. Для того чтобы обработать неопределенное количество значений, мы можем использовать цикл для ввода оценок и их суммирования.

Вот простой код, который решает вашу задачу:

cpp
#include <iostream> int main() { int totalMarks = 0; int countMarks = 0; int mark; std::cout << "Введите оценки студента (для окончания ввода введите любое значение за пределами диапазона 1-5):" << std::endl; // Цикл для ввода оценок while (true) { std::cin >> mark; // Проверка на корректный ввод (оценки от 1 до 5) if (mark < 1 || mark > 5) { break; // Выход из цикла, если введено некорректное значение } totalMarks += mark; countMarks++; } // Проверка, чтобы избежать деления на ноль if (countMarks > 0) { double average = static_cast<double>(totalMarks) / countMarks; std::cout << "Средний балл: " << average << std::endl; } else { std::cout << "Оценки не были введены." << std::endl; } return 0; }

Как это работает:

  1. Мы объявляем переменные totalMarks и countMarks для хранения суммы оценок и количества введенных оценок соответственно.
  2. Затем выводим сообщение, запрашивающее учителя вводить оценки студентов.
  3. Запускаем цикл while (true), который будет выполняться до тех пор, пока пользователь будет вводить корректные оценки (числа от 1 до 5).
  4. В цикле мы суммируем введенные оценки в totalMarks и увеличиваем countMarks на 1 при каждой введенной оценке.
  5. Если пользователь вводит значение за пределами диапазона от 1 до 5, цикл прерывается с помощью break.
  6. Далее мы проверяем, были ли введены оценки (чтобы избежать деления на ноль) и, если да, вычисляем среднее арифметическое и выводим его.
  7. Если оценки не были введены (в случае, если пользователь ничего не ввел или ввел только некорректные значения), выводим соответствующее сообщение.

Теперь у вас есть простая программа, которая может обрабатывать неопределенное количество оценок и находить среднее арифметическое. Надеюсь, это помогло вам понять, как работает цикл и основы работы с переменными на языке C++. Если у вас возникнут еще вопросы, не стесняйтесь задавать!

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос