using namespace std;
int main() {
setlocale(LC_ALL, "Russian");
const int n = 5;
int a[n];
cout << " Введите " << n << " целых чисел: " << endl;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < n; i++) cout << a[i] << " ";
int imin = 0;
for (int i = imin = 0; i < n; i++) {
if (a[i] < a[imin]) imin = i;
srand(time(0));
for (i = 0; i < n; i++)
{
C[i] = (double)(rand() % 50) / 10;
if (C[i] >0)
{
p *= C[i];
++k;
}
}
cout << "Среднее геометрическое положительных элементов массива: ";
if (k > 0){
cout << pow(p, 1.0 / k);
cout << endl;
}
else{
cout << k;
cout << endl;
return 0;
}
cout << endl << "Обратный порядок: " << endl;;
for (int i = n - 1; i >= 0; i--)
{
cout << a[i] << endl;
}
}
Неправильно считает среднее геометрическое положительных чисел, точнее выводит рандомно. Если убираю строку, то пишет ноль . Как вывести точное значение?