Дан вещественный вектор a (a1, a2, …, an). переменной p присвоить значение, равное произведению компонентов вектора a, принадлежащих отрезку [x, y]. печатать p и вектор a.

dianapanova2004 dianapanova2004    1   19.08.2019 05:00    3

Ответы
Матемитик111111111 Матемитик111111111  05.10.2020 04:10
// 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
ПОКАЗАТЬ ОТВЕТЫ
Kseniacаt Kseniacаt  05.10.2020 04:10
#include <iostream>
#include <vector>
using namespace std;

int main() {
cout << "Введите вектор (0, чтобы закончить):\n";
float in;
vector<float> 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;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика