// 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
Const N = 33; Var A:array[1..N] of integer; i,k,M,d:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N div 10+1); Write(' ',A[i]) End; WriteLn; k:=1; d:=0; For i:=1 to N-1 do if (A[i]=A[i+1]) then k:=k+1 else Begin if k>d then Begin d:=k; M:=i; End; k:=1; End; if d>1 then WriteLn('Искомая последовательность начинается с элемента №',M-d+1,', и заканчивается элементом №',M,'') else if d>0 then WriteLn('В массиве нет, стоящих рядом, равных чисел') else WriteLn('Все числа в последовательности равны'); End.
Объяснение:
Жаңғырық арқылы көбейеді