• Дан целочисленный массив размера N. Преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент. Паскаль

Ответы 1

  • 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
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years