Ввести некоторую последовательность целых чисел и создать динамический массив из чисел, размещенных после первого двузначного числа. С помощью функции вычислить среднее арифметическое элементов, кратных 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;
}
Answers & Comments
Ответ:
Ты код немного криво скопировал сюда. Поправил функцию (смысл передавать пустые значения в нее? + цикл не правильный был(нумерация элементов массива с 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;
}