Type
V = array of integer;
var
i, n, ic, nc, kc, imax, nmax, kmax: integer;
a: V;
begin
write('Введите количество чисел N ');
readln(n);
SetLength(a, n + 1);
writeln('Вводите числа');
for i := 0 to n - 1 do read(a[i]);
writeln;
nmax := -32768;
kmax := 0;
imax := 0;
nc := a[0];
kc := 1;
ic := 1;
for i := 1 to n - 1 do
begin
if a[i] = nc then kc := kc + 1
else begin
if kc < 3 then begin
kc := 1;
nc := a[i];
ic := i
end
else
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic;
kc:=1;
nc:=a[i];
ic:=i
end
else begin
kc := 1;
nc := a[i];
ic := i
end
end
end;
if kmax <= kc then begin
kmax := kc;
nmax := nc;
imax := ic
end;
writeln('Самая длинная серия содержит ', kmax, ' чисел ', nmax);
for i:=n downto imax+kmax+1 do a[i]:=a[i-1];
a[imax+kmax]:=nmax;
writeln('Модифицированная строка');
for i:=0 to n do write(a[i]:2)
end.
Тестовое решение
Введите количество чисел N 30
Вводите числа
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 3 3 3 3 1 2 3 3 3
Самая длинная серия содержит 6 чисел 8
Модифицированная строка
1 2 2 3 4 4 4 5 5 5 6 8 6 6 6 4 8 8 8 8 8 8 8 3 3 3 3 1 2 3 3
var x,y,z:real;
begin
readln(x,y);
z:=x*x*x-2.5*x*y+1.78*x*x-12.5*y+1;
writeln(z);
end.
//Pascal ABC.NET v3.1 сборка 1172
var
n, m: integer;
begin
read(n, m);
repeat
writeln('Текущее значение N:', n, ' ,до m:', m - n);
inc(n);
until n = m;
writeln('Завершено, n=m');
end.
Пример ввода:
12
20
Пример вывода:
Текущее значение N:12 ,до m:8
Текущее значение N:13 ,до m:7
Текущее значение N:14 ,до m:6
Текущее значение N:15 ,до m:5
Текущее значение N:16 ,до m:4
Текущее значение N:17 ,до m:3
Текущее значение N:18 ,до m:2
Текущее значение N:19 ,до m:1
Завершено, n=m
В libre office и open office - Writer. Остальные программы перечислили ранее.
<em>// PascalABC.NET 3.3, сборка 1625 от 17.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('*** Исходный массив ***');
var v:=MatrRandom(7,7,-15,15);
v.Println(4); Writeln(4*v.ColCount*'-');
var pr3:=v.Row(2).Aggregate(1,(x,y)->x*y);
Writeln('Произведение элементов 3-й строки равно ',pr3);
Writeln('Количество элементов, больших этого произведения, равно ',
v.ElementsByRow.Where(t->t>pr3).Count);
Writeln('Максимум в 3-м столбце равен ',v.Col(2).Max)
end.
<u>Пример</u>
*** Исходный массив ***
-4 -12 -15 -2 13 3 -15
-7 -1 -15 2 -2 4 -6
14 5 5 15 -4 3 0
13 15 9 14 11 -9 11
1 14 14 1 -4 -1 -7
15 -10 -13 -3 -8 -12 11
0 -13 -8 4 6 1 -11
----------------------------
Произведение элементов 3-й строки равно 0
Количество элементов, больших этого произведения, равно 24
Максимум в 3-м столбце равен 14