begin
var n := ReadInteger;
var L := new List<(integer, integer)>;
loop n do
begin
L.Add(ReadInteger2)
end;
var k := L.Count;
L := L.Distinct.ToList; // этап 1
var k1 := L.Count;
Print(k - k1);
(k, k1) := (k1, 0); // этап 2
var St := new Stack<integer>;
var m := L.First[0]; // время
for var i := 1 to k - 1 do
if L[i][0] <= m then
begin
St.Push(i);
Inc(k1)
end
else m := L[i][0];
for var i := 1 to k1 do
L.RemoveAt(St.Pop);
Print(k1);
(k, k1) := (L.Count, 0); // этап 3
m := L.First[1]; // температура
for var i := 1 to k - 1 do
if Abs(L[i][1] - m) > 10 then
begin
St.Push(i);
Inc(k1)
end
else m := L[i][1];
for var i := 1 to k1 do
L.RemoveAt(St.Pop);
Println(k1);
end.
Пример610 58 58 58 512 2513 102 1 1begin
var n := ReadInteger;
var L := new List<(integer, integer)>;
loop n do
begin
L.Add(ReadInteger2)
end;
var k := L.Count;
L := L.Distinct.ToList; // этап 1
var k1 := L.Count;
Print(k - k1);
(k, k1) := (k1, 0); // этап 2
var St := new Stack<integer>;
var m := L.First[0]; // время
for var i := 1 to k - 1 do
if L[i][0] <= m then
begin
St.Push(i);
Inc(k1)
end
else m := L[i][0];
for var i := 1 to k1 do
L.RemoveAt(St.Pop);
Print(k1);
(k, k1) := (L.Count, 0); // этап 3
m := L.First[1]; // температура
for var i := 1 to k - 1 do
if Abs(L[i][1] - m) > 10 then
begin
St.Push(i);
Inc(k1)
end
else m := L[i][1];
for var i := 1 to k1 do
L.RemoveAt(St.Pop);
Println(k1);
end.
Пример610 58 58 58 512 2513 102 1 1
// Внимание! Если программа не работает, обновите версию!
№1
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
Writeln('Наименьший элемент равен ',a.Min)
end.
Пример
n= 17
-34 -4 -16 50 -12 -13 -40 -10 4 1 46 -46 2 -13 4 -4 20
Наименьший элемент равен -46
№2
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('Вводите элементы построчно');
var t:=ReadMatrInteger(m,n).ElementsWithIndexes.MaxBy(x->x[0]);
Writeln('Максимальный элемент A[',t[1]+1,',',t[2]+1,']=',t[0])
end.
Пример
Количество строк и столбцов в массиве: 3 4
Вводите элементы построчно
5 -6 0 9
12 7 12 0
-8 23 6 20
Максимальный элемент A[3,2]=23
№3
begin
var a:=ArrRandom(ReadInteger('n='),-20,20); a.Println;
Writeln('Сумма положительных элементов равна ',a.Where(x->x>0).Sum);
Writeln('Количество отрицательных элементов равно ',a.Where(x->x<0).Count);
Writeln('Количество нулевых элементов равно ',a.Where(x->x=0).Count);
end.
Пример
n= 18
-16 -15 -20 -20 17 2 -3 13 15 -11 -10 -6 0 -5 10 0 20 10
Сумма положительных элементов равна 87
Количество отрицательных элементов равно 9
Количество нулевых элементов равно 2