Дан вещественный вектор A (a1, a2, …, aN). Переменной P присвоить значение, равное произведению компонентов вектора A, принадлежащих отрезку [x, y]. Печатать P и вектор A.
Дан вещественный вектор A (a1, a2, …, aN). Переменной P присвоить значение, равное произведению компонентов вектора A, принадлежащих отрезку [x, y]. Печатать P и вектор A.
Ответ(ы) на вопрос:
Гость
#include
#include
using namespace std;
int main() {
cout << "Введите вектор (0, чтобы закончить):\n";
float in;
vector a;
while (true) {
cin >> in;
if (in == 0)
break;
else
a.insert(a.end(), in);
}
float p, x, y;
cout << "x = ";
cin >> x;
cout << "y = ";
cin >> y;
p = 1;
for (int i = 0; i < a.size(); i++) {
if ( (a[i] >= x) && (a[i] <= y) )
p *= a[i];
}
cout << "p = " << p << '\n'
<< "a[]:";
for (int i = 0; i < a.size(); i++) {
cout << a[i] << ' ';
}
return 0;
}
Гость
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandomReal(ReadInteger('n='),-99,99); a.Println;
var x,y:real;
Write('Введите границы интервала для произведения: ');
Read(x,y);
var p:=a.Where(q->(q>=x) and (q<=y)).Aggregate(1.0,(x,y)->x*y);
Writeln('p=',p)
end.
Пример
n= 10
11.0202379617934 -21.4386138983251 17.4840150235612 -92.4701039881772 8.05400941383746 -23.9996788990682 85.7269244402307 -27.4690603960627 -72.6577002609417 61.1870779274903
Введите границы интервала для произведения: -20 30.8
p=1551.83047486587
Не нашли ответ?
Похожие вопросы