
Ввести некоторую последовательность целых чисел и создать динамический массив из чисел, размещенных
после первого двузначного числа. С помощью функции вычислить среднее арифметическое элементов, кратных 5 на с++. Среднее арифметического реализовал, создайте пж динамический массив из чисел, размещенных после первого двузначного числа, не переписывая мой код c нуля, а просто добавьте реализацию #include using namespace std;void middle(int* a, float length, int sum, float average) { length = 0; sum = 0; average = 0; for (int i = 1; i<= 10; i++) { if (a[i] % 5 == 0) { length++; sum+= a[i]; average = sum / length; } } cout << "Количество " << length << endl; cout << "Сумма " << sum << endl; cout << "Среднее арифметическое = " << average << endl;}int main() { int arr[10], sum; float length, average; cout<<"Введите 10 чисел "< > arr[i]; } middle(arr, length, sum, average); return 0;}

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

Ответ:
Ты код немного криво скопировал сюда. Поправил функцию (смысл передавать пустые значения в нее? + цикл не правильный был(нумерация элементов массива с 0 начинается) ).
Объяснение:
#include <iostream>
#include <vector>
using namespace std;
void middle(vector<int> a)
{
float length = 0, sum = 0, average = 0;
for (int i = 0; i < a.size(); i++)
{
if (a[i] % 5 == 0)
{
length++;
sum += a[i];
average = sum / length;
}
}
cout << "Количество " << length << endl;
cout << "Сумма " << sum << endl;
cout << "Среднее арифметическое = " << average << endl;
}
int main()
{
vector<int> arr;
int number;
cout << "Введите 10 чисел " << endl;
bool write = false;
for(int i = 0; i < 10; i++)
{
cin >> number;
if(write)
arr.push_back(number);
else if(to_string(number).length() == 2)
write = true;
}
middle(arr);
return 0;
}



Решение на C++
Для решения данной задачи требуется ввести некоторую последовательность целых чисел, создать динамический массив из чисел, размещенных после первого двузначного числа, вычислить среднее арифметическое элементов, кратных 5, и создать динамический массив из чисел, размещенных после первого двузначного числа.
```cpp
#include
void middle(int* a, int length) {
int sum = 0;
int count = 0;
for (int i = 0; i < length; i++) {
if (a[i] > 9 && a[i] < 100) {
int newLength = length - i - 1;
int* newArr = new int[newLength];
for (int j = 0; j < newLength; j++) {
newArr[j] = a[i + j + 1];
}
for (int k = 0; k < newLength; k++) {
if (newArr[k] % 5 == 0) {
sum += newArr[k];
count++;
}
}
if (count > 0) {
float average = static_cast
int main() { const int size = 10; int arr[size]; cout << "Enter 10 numbers: "; for (int i = 0; i < size; i++) { cin >> arr[i]; } middle(arr, size); return 0; } ```
В данном решении: 1. Создается функция `middle`, которая принимает массив целых чисел и его длину. В этой функции создается новый массив, содержащий числа, размещенные после первого двузначного числа. Затем происходит вычисление среднего арифметического элементов, кратных 5, в этом новом массиве. 2. Функция `main` запрашивает у пользователя ввод 10 чисел, а затем вызывает функцию `middle` для выполнения необходимых вычислений.
Примечание: Код также обновлен для исправления ошибок и улучшения функциональности.


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







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