Поиск строки в которой находится самая длинная серия одинаковых элементов - C (СИ)

Формулировка задачи:

Не могу найти строчку с максимальной серией элементов Ребят, кто знает в чем ошибка, подскажите пожалуйста до меня никак не доходит
void nomer2(int **v, int b, int c)
{
    int i, j, max =0, imax = 0;
    int sum = 0;
    for(i=0;i<b;i++)
    {
        for (j=0;j<c;j++)
        {
 
            if(v[i][j] == v[i][j+1])
                sum++;
            else if(sum>max)
            {
            imax=i;
            max=sum;
            }
         }
    }
 
    printf ("Stroka v kotoroi nahoditsya samaya dlinnaya seria odinakovih elmentov  %d", imax);
 
}
 
 
int main ()
{
    int i, j, b, c,z;
    printf("* 1. Kolichestvo stolbcov soderjashih nulevoi element                          *");
    printf("* 2. Nomer stroki s samoi dlinnoi seriei odinakovih elementov                  *");
    printf("* 3. Proverka simmetrichnosti matritsi                                         *");
    printf("* 4. Pomenyat v kajdoi stroke maximalniy element s elementom glavnoi diagonali *");
    scanf("%d", &z);
    int **v;
    printf("Kol-vo strok:\n");
    scanf("%i",&b);
    printf("Kol-vo stolbcov:\n");
    scanf("%i",&c);
    v=(int**)calloc(b, sizeof(int));
    for(i=0;i<b;i++)
    {
        v[i]=(int*)calloc(c, sizeof(int));
    }
    printf("\n Vvedite elementy matrica:\n");
    for(i=0;i<b;i++)
    {
        for(j=0;j<c;j++)
        {
            scanf("%d", &v[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    switch(z)
    {
        case 1:
            nomer1(v, b, c);
            break;
        case 2:
            nomer2(v, b, c);
            break;
        case 3:
            nomer3(v, b, c);
            break;
        case 4:
            nomer4(v, b, c);
            break;
        default:
            printf("Nevernoe znachenie");
            break;
 
    }
    return 0;
}


textual

Код к задаче: «Поиск строки в которой находится самая длинная серия одинаковых элементов - C (СИ)»

int cnt = 0;
    for(i=0;i<b;i++)
    {
        for (cnt = 0, j=1;j<c;j++)
            if(v[i][j-1] == v[i][j])
                ++cnt;
        if(cnt>max)
        {
            imax=i;
            max=cnt;
        }
    }
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.


СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.100 из 5

Источник
Похожие ответы