Информатика, вопрос задал asilvejstruk , 6 лет назад

Ввести некоторую последовательность целых чисел и создать динамический массив из чисел, размещенных после первого двузначного числа. С помощью функции вычислить среднее арифметическое элементов, кратных 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;
}


Rediska873: может вектор?
asilvejstruk: ну по сути нужен одномерный массив, лучше сделать без библиотеки vector
asilvejstruk: хотя может и с ним примут, ну лучше не рисковать
Rediska873: без него сложнее прост)

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

Ответил Rediska873
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;

}


asilvejstruk: я нумерация кастомную создал, по поводу кода сам в шоке, оно сожрала много чего
asilvejstruk: Если не сложно, подскажи пж, где найти урок по vector, ибо с ним рили проще
asilvejstruk: пасибо, я гляну
Новые вопросы