
Найти и вывести среднее арифметическое значение элементов тех строк, последний элемент которых
равен 1. C++

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

#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(0));
setlocale(LC_ALL, "Russian");
vector< vector<int> > arr;
vector<float> average;
float result = 0;
arr.resize(10);
for (int i = 0; i < arr.size(); ++i) {
arr[i].resize(10);
}
for (int i = 0; i < arr.size(); ++i) {
for (int j = 0; j < arr[i].size(); ++j) {
arr[i][j] = rand()%10;
cout << arr[i][j] << " ";
if (j == arr[i].size() - 1) {
cout << endl;
}
}
}
for (int i = 0; i < arr.size(); ++i) {
if (arr[i][arr[i].size() - 1] == 1) {
for (int j = 0; j < arr[i].size(); ++j) {
average.push_back(arr[i][j]);
}
}
}
for (int i = 0; i < average.size(); ++i) {
result += average[i];
}
if (average.size() == 0) {
cout << endl << "Единицы отсутствуют.";
return 0;
}
result /= average.size();
cout << result;
}



Для нахождения среднего арифметического значений элементов строк, последний элемент которых равен 1, вам нужно выполнить следующие шаги на языке C++:
- Считать строки с клавиатуры или из другого источника данных.
- Обработать каждую строку и проверить, равен ли последний элемент этой строки 1.
- Если последний элемент строки равен 1, вычислить сумму элементов этой строки и увеличить счетчик строк, удовлетворяющих условию.
- После обработки всех строк, вычислить среднее арифметическое для этих строк, разделив сумму элементов на количество строк.
Вот пример кода на C++:
cpp#include <iostream>
#include <string>
#include <vector>
int main() {
std::vector<std::string> strings;
std::string input;
// Ввод строк с клавиатуры (Ctrl+D в Unix/Linux для завершения ввода).
while (std::cin >> input) {
strings.push_back(input);
}
double sum = 0;
int count = 0;
// Обработка строк и вычисление среднего арифметического.
for (const std::string& str : strings) {
if (!str.empty() && str.back() == '1') {
// Парсим строку и суммируем числа.
int number = std::stoi(str);
sum += number;
count++;
}
}
// Проверка деления на ноль, чтобы избежать ошибки.
if (count > 0) {
double average = sum / count;
std::cout << "Среднее арифметическое элементов строк, последний элемент которых равен 1: " << average << std::endl;
} else {
std::cout << "Нет строк, последний элемент которых равен 1." << std::endl;
}
return 0;
}
Этот код считывает строки, а затем проверяет, равен ли последний символ каждой строки числу 1. Если да, он парсит строку в число, суммирует его и увеличивает счетчик строк. По завершении обработки всех строк он вычисляет среднее арифметическое значений и выводит его на экран.


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

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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili