Решить через Pascal.
Б)Задан массив P(10) (элементы его выбрать самостоятельно). Построить новый массив B, элементы которого вычисляется по формуле: P
b=0,5sin(P) + 0,1. Отобрать в новом массиве все положительные значения и если их количество будет больше 5, то массив B отпечатать печатать без изменения, в противном случае, присвоить положительные значения массива В число 1.
В)Произвести выборку в массиве Х=( -1; - 2; 3; 4; 5; - 7; - 12; 1; 0,8; - 6; 5; 7; - 2; 0,1; 0; 3; - 8; - 5) то есть формировать 4 массива. Первый содержит записанные в подряд положительные элементы массива X, Второй - отрицательные элементы массива Х. Третий - подряд записанные порядковые номера элементов первого массива, которые они имели в массиве X, Четвёртый массив содержит подряд записанные индексы элементов второго массива, которые они имели в массиве X.
Ответы
Ответ дал:
1
===== PascalABC.NET =====
- Б) -
begin
var p := ArrRandom(10, -10, 10);
Print('P:');
p.Println;
var B := p.Select(q -> 0.5 * Sin(q) + 0.1).ToArray;
Print('B:');
if B.Count(p -> p > 0) <= 5 then
B.Transform(q -> q > 0 ? 1.0 : q);
B.Println
end.
- В) -
begin
var x: array of real := (-1, -2, 3, 4, 5, -7, -12, 1,
0.8, -6, 5, 7, -2, 0.1, 0, 3, -8, -5);
x.Println;
var x1 := x.Where(p -> p > 0).Println.ToArray;
var x2 := x.Where(p -> p < 0).Println.ToArray;
var x3 := x.Indices(p -> p > 0).Select(p -> p + 1).Println.ToArray;
var x4 := x.Indices(p -> p < 0).Select(p -> p + 1).Println.ToArray
end.
Приложения:
![](https://st.uroker.com/files/c12/c121a8d7b28a320979f5ee9e9581310e.jpg)
![](https://st.uroker.com/files/322/322ed55a7db7ba73735f772399c6bc22.jpg)
tony57:
Можете сделать более понятным языком использовав такие операции как Writeln ReadLn. Более понятные для 11 класса?
Вас заинтересует
4 месяца назад
4 месяца назад
6 месяцев назад
6 месяцев назад
2 года назад
7 лет назад