Дан одномерный массив из n целых чисел [0, 2]. Подсчитайте наибольшее число одинаковых идущих подряд в нем чисел. Язык СИ

Не совсем понимаю, где была допущена ошибка. Помогите разобраться и исправить, пожалуйста.

s - считает количество идущих подряд одинаковых чисел max - максимальное количество повторяющихся

#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <time.h>
#include <math.h>
#include <stdlib.h>

main()
{
    srand(time(NULL));
    setlocale(LC_ALL,"");
    
    int n,i=0,rand(),s,max;
    
    printf("Введите размер массива: ");
    scanf("%d", &n);
    
    
    int a[n];
    
    printf("\nСгенерированный массив: ");
    
    for (i=0; i<=n; i++)
    {
    
        a[i]= 0 + rand()%3;
        printf("%d\t", a[i]);
    }
  
        for (i=1; i<=n; i++) //подсчет одинаковых чисел подряд
    {
        if(a[i-1]==a[i])
        {
            s++;
            s=s+max;
        
        if (s>max)
        max=i;        
        }
    } 
     
    printf("\nНаибольшее число одинаковых идущих подряд в нем чисел: %d", max);
    
}

Ответы (1 шт):

Автор решения: MBo
if(a[i-1]==a[i])
    {
        s++;
        if (s>max)
           max=s;        
    }
 else
    s = 1;

И в начале s тоже нужно инициализировать

→ Ссылка