Исходный массив: -3 -4 -1 -8 6 Max1 = A[5] = 6 Max2 = A[3] = -1 Max3 = A[1] = -3 Новый массив: 1 -4 3 -8 5Const N = 5; Var A:array[1..N] of integer; i,Max1,Max2,Max3:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(21)-10; Write(' ',A[i]); End;
Max1:=1; For i:= 2 to N do if A[i]>A[Max1] then Max1:=i;
if Max1<>1 then Max2:=1 else Max2:=2; For i:= 1 to N do if (A[i]>A[Max2])and(A[i]<=A[Max1])and(i<>Max1) then Max2:=i;
Max3:=1; if (Max2=Max3)or(Max1=Max3) then Max3:=Max3+1; if (Max2=Max3)or(Max1=Max3) then Max3:=Max3+1; For i:= 1 to N do if (A[i]>A[Max3])and(A[i]<=A[Max2])and(i<>Max2) then Max3:=i;
Рекурсивный подход.(Символы тоже удаляет) function grad(s:string):string; var i:byte; detect:boolean; begin while i < length(s) - 2 do begin inc(i); if (s[i] = s[i+1]) and (s[i] = s[i+2]) then {проверка последовательности из 3 елементов} begin delete(s,i,3); {если да - удаляем их} detect:=True; {логическая переменная регистрирует изменение строки} end;end; if detect = True then s:=grad(s); {если строку изменили , проверяем не появились ли там еще последовальности} grad:=s; end;
var s:string; begin readln(s); writeln(grad(s)); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку