// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
procedure ListInsert(var L:List<real>;e,e1:real); begin for var i:=L.Count-1 downto 0 do if L[i]=e then L.Insert(i+1,e1) end;
begin var P:=new List<real>; Writeln('Введите последовательность чисел, завершив её нулём'); P.AddRange(ReadSeqRealWhile(a->a<>0)); var what:=ReadReal('Что вставить?'); var before:=ReadReal('После чего вставить?'); ListInsert(P,before,what); Writeln('Результат:'); P.Println end.
Пример Введите последовательность чисел, завершив её нулём 3.8 -6.2 1.45 2.18 -6.2 14 2.7 2.18 2.18 3.8 15.4 0 Что вставить? 0.0001 После чего вставить? 2.18 Результат: 3.8 -6.2 1.45 2.18 0.0001 -6.2 14 2.7 2.18 0.0001 2.18 0.0001 3.8 15.4
// Внимание! Если программа не работает, обновите версию!
procedure ListInsert(var L:List<real>;e,e1:real);
begin
for var i:=L.Count-1 downto 0 do
if L[i]=e then L.Insert(i+1,e1)
end;
begin
var P:=new List<real>;
Writeln('Введите последовательность чисел, завершив её нулём');
P.AddRange(ReadSeqRealWhile(a->a<>0));
var what:=ReadReal('Что вставить?');
var before:=ReadReal('После чего вставить?');
ListInsert(P,before,what);
Writeln('Результат:');
P.Println
end.
Пример
Введите последовательность чисел, завершив её нулём
3.8 -6.2 1.45 2.18 -6.2 14 2.7 2.18 2.18 3.8 15.4 0
Что вставить? 0.0001
После чего вставить? 2.18
Результат:
3.8 -6.2 1.45 2.18 0.0001 -6.2 14 2.7 2.18 0.0001 2.18 0.0001 3.8 15.4