Вpascalabc отсортировать массив по не возрастанию методом обмена рядом стоящих элементов с фиксированным числом просмотров, направленных слева направо.
Const n=15; var a:array[1..n] of integer; i,s:integer; sr:real; begin Randomize; writeln('Массив:'); for i:=1 to n do begin a[i]:=random(21); write(a[i]:3); end; writeln; s:=0; for i:=1 to n do s:=s+a[i]; sr:=s/n; writeln('Среднее арифметическое = ',sr:6:2); writeln('Номера элементов, больших среднего арифметического:'); for i:=1 to n do if a[i]>sr then write(i:3); writeln; end.
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016 begin var a:=ArrRandom(ReadInteger('n='),1,99); a.Println; var k:=ReadInteger('k='); Writeln('Сумма чисел, кратных ',k,': ', a.Where(x->x mod k=0).Sum) end.
var a:array[1..n] of integer;
i,s:integer; sr:real;
begin
Randomize;
writeln('Массив:');
for i:=1 to n do
begin
a[i]:=random(21);
write(a[i]:3);
end;
writeln;
s:=0;
for i:=1 to n do s:=s+a[i];
sr:=s/n;
writeln('Среднее арифметическое = ',sr:6:2);
writeln('Номера элементов, больших среднего арифметического:');
for i:=1 to n do
if a[i]>sr then write(i:3);
writeln;
end.
Пример:
Массив:
9 19 14 8 7 10 5 10 6 14 15 2 11 17 13
Среднее арифметическое = 10.67
Номера элементов, больших среднего арифметического:
2 3 10 11 13 14 15
begin
var a:=ArrRandom(ReadInteger('n='),1,99);
a.Println;
var k:=ReadInteger('k=');
Writeln('Сумма чисел, кратных ',k,': ',
a.Where(x->x mod k=0).Sum)
end.
Тестовое решение:
n= 18
45 17 36 15 65 17 97 44 49 43 60 51 66 72 18 55 71 85
k= 12
Сумма чисел, кратных 12: 168
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),1,20);
a.Println;
a.Where((x,i)->x=i+1).Println
end.
Тестовое решение:
n= 16
17 2 1 14 20 19 10 3 9 15 14 4 2 7 2 16
2 9 16