Предмет: Информатика,
автор: Dardil
Задан одномерный массив А(N) (N<=60). Найти сумму его элементов,
принадлежащих интервалу [0,3]. Значением этой суммы заменить все
отрицательные элементы данного массива. В полученном массиве поменять
местами второй и предпоследний элементы. Распечатать преобразованный
массив.
Ответы
Автор ответа:
0
Ответ:
var a:array [1..60] of integer;
n,i,s,v:integer;
begin
write('Введите количество элементов массива (n<=60) ');
readln(n);
write('Массив ');
for i:=1 to n do
begin
a[i]:=random(11)-5;
if (a[i] >= 0) and (a[i] <= 3) then s:=s+a[i];
write(a[i]:3)
end;
writeln;
write('Массив ');
for i:=1 to n do
begin
if a[i] < 0 then a[i]:=s;
write(a[i]:3)
end;
writeln;
v:=a[2];
a[2]:=a[n-1];
a[n-1]:=v;
write('Массив ');
for i:=1 to n do write(a[i]:3)
end.
Автор ответа:
1
begin
var n := ReadInteger;
var a := ArrRandom(n, -10, 10);
a.Println;
var s := a.Where(p -> p.InRange(0, 3)).Sum;
a.Transform(p -> p < 0 ? s : p);
Swap(a[1], a[a.High - 1]);
a.Println
end.
Приложения:
Похожие вопросы
Предмет: Информатика,
автор: Katletka2007
Предмет: Геометрия,
автор: za8857239
Предмет: Английский язык,
автор: Kokse
Предмет: История,
автор: Антуримия
Предмет: Литература,
автор: Husen05