Дан одномерный массив целого типа. получить другой массив, состоящий только из чисел исходного массива, больше 10 и кратных 3, или сообщить, что таких чисел нет. полученный массив вывести в порядке убывания элементов.
// PascalABC.NET 3.0, сборка 1088 begin var n:=ReadInteger('Количество элементов: '); var a:=ArrRandom(n,1,99); a.PrintLn(','); var b:=a.Where(x->(x>10) and (x mod 3 = 0)).ToArray; if b.Length=0 then Writeln('Нет нужных элементов') else b.OrderByDescending(x->x).Println(',') end.
Тестовое решение: Количество элементов: 15 54,12,98,26,18,21,10,61,62,22,89,11,1,7,75 75,54,21,18,12
procedure SortMin(var a: MyArr;n:Integer); var i,j,x:integer; begin; for I:=1 to n do for j:=1 to n-1 do if a[j]<a[j+1] then begin x:=a[j+1]; a[j+1]:=a[j]; a[j]:=x; end; end;
begin; randomize; k:=0; writeln('First array:'); for i:=1 to 10 do begin; ar[i]:=random(100); write(ar[i]:4); if (ar[i]>10) and (ar[i] mod 3=0) then begin; inc(k); ar2[k]:=ar[i]; end; end; if k=0 then begin; writeln('Нет подходящих элементов'); exit; end; SortMin(ar2,k); writeln; writeln('Final array:'); for i:=1 to k do write(ar2[i]:4); end.
begin
var n:=ReadInteger('Количество элементов: ');
var a:=ArrRandom(n,1,99);
a.PrintLn(',');
var b:=a.Where(x->(x>10) and (x mod 3 = 0)).ToArray;
if b.Length=0 then Writeln('Нет нужных элементов')
else b.OrderByDescending(x->x).Println(',')
end.
Тестовое решение:
Количество элементов: 15
54,12,98,26,18,21,10,61,62,22,89,11,1,7,75
75,54,21,18,12
n=10;
type
MyArr=array[1..10] of integer;
var ar:MyArr;
ar2:MyArr;
i,k:integer;
procedure SortMin(var a: MyArr;n:Integer);
var i,j,x:integer;
begin;
for I:=1 to n do
for j:=1 to n-1 do
if a[j]<a[j+1] then
begin
x:=a[j+1];
a[j+1]:=a[j];
a[j]:=x;
end;
end;
begin;
randomize;
k:=0;
writeln('First array:');
for i:=1 to 10 do
begin;
ar[i]:=random(100);
write(ar[i]:4);
if (ar[i]>10) and (ar[i] mod 3=0) then
begin;
inc(k);
ar2[k]:=ar[i];
end;
end;
if k=0 then
begin;
writeln('Нет подходящих элементов');
exit;
end;
SortMin(ar2,k);
writeln;
writeln('Final array:');
for i:=1 to k do
write(ar2[i]:4);
end.