profile
Размещено 4 года назад по предмету Информатика от andr9166696553

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

  1. Ответ на вопрос
    Ответ на вопрос дан AdaLavleis
    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.
    1. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Я свою программку положил как иллюстрацию того, что массивы для хранения серий не нужны, поскольку серия содержит одни и те же числа, как объяснил автор вопроса.
  2. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    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


Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.