Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите найти ошибку

sasha veriova Знаток (260), на голосовании 10 месяцев назад
написал код для данного задания, после запуска программы и введения чисел перемножаются только X1 и Xn остальные остаются нетронутыми.

Задание:

Дана непустая последовательность из n положительных вещественных чисел x1, x2, . . . , xn. Вычислить величину:
min(x1, x1x2, x1x2x3, . . . , x1 . . . xn−1xn)

код:

#include <stdio.h>

int main()
{
//Введение значения n
int n;
printf("write number for n: ");
scanf("%d", &n);

//Введение знаечний x и min_value
double x, min_value, product;
printf("write number x1: ");
scanf("%lf", &min_value);

//Цикл для введения значений x и вычисления минимального произведения
for (int i = 1; i < n; i++) //пока i < n будет выполняться условие цикла
{
printf("write number x%d: ", i + 1);
scanf("%lf", &x);
double product = min_value * x; //Вводим product для последовательного сравнивания произведений
if (min_value < product)
{
min_value = min_value;
}
else
{
min_value = product;
}
}
printf("Result: %f\n", min_value);

return 0;
}
Голосование за лучший ответ
Айран Просветленный (27267) 11 месяцев назад
на каждой итерации у вас
 double product = min_value * x; 

а надо умножать на результат предыдущего умножения
 до цикла
double product = min_value // первый элемент
а внутри цикла
product = product * x;
Похожие вопросы