Дан вещественный вектор A (a1, a2, …, aN). Переменной P присвоить значение, равное...

0 голосов
85 просмотров

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


Информатика (17 баллов) | 85 просмотров
Дано ответов: 2
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
(150k баллов)
0 голосов

#include
#include
using namespace std;

int main() {
cout << "Введите вектор (0, чтобы закончить):\n";<br> float in;
vector a;
while (true) {
cin >> in;
if (in == 0)
break;
else
a.insert(a.end(), in);
}
float p, x, y;
cout << "x = ";<br> cin >> x;
cout << "y = ";<br> cin >> y;
p = 1;
for (int i = 0; i < a.size(); i++) {
if ( (a[i] >= x) && (a[i] <= y) )<br> p *= a[i];
}
cout << "p = " << p << '\n'<br> << "a[]:";<br> for (int i = 0; i < a.size(); i++) {
cout << a[i] << ' ';<br> }
return 0;
}

(7.2k баллов)
0

нужен в паскале