Предмет: Информатика,
автор: vvvRIKvvv
Помогите пожалуйста в ПАСКАЛЕ.
Одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Сумму отрицательных элементов 2.Произведение элементов массива, расположенных между максимальным и минимальным элементами .
упорядочить элементы массива
Ответы
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1427 от 24.04.2017
// Внимание! Если программа не работает, обновите версию!
begin
var a:=SeqRandom(ReadInteger('n='),-50,50).Select(n->double(n/10)).ToArray;
a.ForEach(x->Write(x:0:1,' ')); Writeln;
Writeln('Сумма отрицательных: ',a.Where(x->x<0).Sum);
var p:=a.IndexMin;
var q:=a.IndexMax;
if p>q then Swap(p,q);
Writeln('Произведение на интервале: ',
a[p+1:q].Aggregate(1.0,(x,y)->x*y));
Writeln('Сортировка:');
a.Sort; a.ForEach(x->Write(x:0:1,' ')); Writeln;
end.
Пример
n= 13
1.7 -0.8 -1.3 -1.4 5.0 -3.1 -0.7 -2.7 2.6 -4.9 4.0 -2.0 -2.0
Сумма отрицательных: -18.9
Произведение на интервале: -15.2334
Сортировка:
-4.9 -3.1 -2.7 -2.0 -2.0 -1.4 -1.3 -0.8 -0.7 1.7 2.6 4.0 5.0
// Внимание! Если программа не работает, обновите версию!
begin
var a:=SeqRandom(ReadInteger('n='),-50,50).Select(n->double(n/10)).ToArray;
a.ForEach(x->Write(x:0:1,' ')); Writeln;
Writeln('Сумма отрицательных: ',a.Where(x->x<0).Sum);
var p:=a.IndexMin;
var q:=a.IndexMax;
if p>q then Swap(p,q);
Writeln('Произведение на интервале: ',
a[p+1:q].Aggregate(1.0,(x,y)->x*y));
Writeln('Сортировка:');
a.Sort; a.ForEach(x->Write(x:0:1,' ')); Writeln;
end.
Пример
n= 13
1.7 -0.8 -1.3 -1.4 5.0 -3.1 -0.7 -2.7 2.6 -4.9 4.0 -2.0 -2.0
Сумма отрицательных: -18.9
Произведение на интервале: -15.2334
Сортировка:
-4.9 -3.1 -2.7 -2.0 -2.0 -1.4 -1.3 -0.8 -0.7 1.7 2.6 4.0 5.0
Похожие вопросы
Предмет: Математика,
автор: lizachaus09
Предмет: Алгебра,
автор: narek1262
Предмет: Литература,
автор: sveta71765
Предмет: Информатика,
автор: Vadim20000707