Задать вопрос
14 декабря, 13:45

Составить программу в паскаль: Найти подпоследовательность максимальной длины подряд идущих чисел массива равных между собой

+3
Ответы (1)
  1. 14 декабря, 17:30
    0
    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.

    Пример:

    Исходный массив: 1 1 1 1 1 2 2 1 3 2 0 3 1 3 0 3 3 0 0 1 3 1 1 2 3 0 1 1 2 2 1 0 0

    Искомая последовательность начинается с элемента №1, и заканчивается элементом №5
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Составить программу в паскаль: Найти подпоследовательность максимальной длины подряд идущих чисел массива равных между собой ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы