Есть ответ 👍

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

243
386
Посмотреть ответы 3

Ответы на вопрос:


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

Program   array129; var a:   array   [1..40]  of   integer; b:   array   [1..20]  of   integer; c:   array   [1..20]  of   integer; temp,m,n,i,j: integer; begin writeln('введите n (n< =20)'); readln(n); writeln('значения массива а'); for   i: =1  to   n  do  begin   write('a[',i,']='); readln(a[i]); b[i]: =i;   end; // решение  temp: =0; m: =0; // формируем из исходного массива a[] два с длиной серий b[] и значением серий c[]  for   i: =2  to   n  do begin inc(temp); if   a[i]< > a[i-1]  then begin inc(m); b[m]: =temp; c[m]: =a[i-1]; temp: =0; end; end; inc(temp); inc(m); b[m]: =temp; c[m]: =a[i]; // складываем массив a[] согласно .  temp: =1; for   i: =1  to   m  do begin if   b[i]> =b[temp]  then begin temp: =i; end; end; inc(b[temp]); temp: =0; for   i: =1  to   m  do begin for   j: =1  to   b[i]  do begin inc(temp); a[temp]: =c[i]; end; end; writeln; writeln('ответ'); write(' a[]: ');   for   i: =1  to   temp  do   write(a[i],' '); end.
alena123141
4,6(72 оценок)

ответ: среда программирования

Объяснение:

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS