Код работает на онлайн-компиляторе, но не на моем ПК - PullRequest
0 голосов
/ 20 февраля 2019

Этот код работает на https://www.onlinegdb.com/online_c++_compiler, но не на моем ПК.Цикл while продолжается бесконечно.Я попытался найти ошибку и обнаружил, что при запуске цикла while значение нескольких элементов массива w становится 255 или 192. Почему?

#include <iostream>
using namespace std;
long n,k,l,i,j,cont;
int main()
{
    cin>>n>>k;
    long v[n+1][k+1];
    bool w[n+1],v2[100];
    for(i=1;i<=n;i++)
        w[i]=0;
    for(i=1;i<=100;i++)
        v2[i]=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=k;j++)
           cin>>v[i][j];
    cont=n;
    while(cont)
    {
        i=1;
        while(w[i]!=0)i++;
        w[i]=1;
        cont--;
        for(j=1;j<=k;j++)
            v2[v[i][j]]=1;
        cout<<i;
        i++;
        for(;i<=n;i++)
            if(!w[i])
            {
                for(j=1;j<=k;j++)
                    if(v2[v[i][j]])
                    {
                        w[i]=1;
                        cout<<" "<<i;
                        cont--;
                        for(l=1;l<=k;l++)
                            v2[v[i][l]]=1;
                        break;
                    }
            }
        cout<<endl;
        for(l=1;l<=100;l++)
            v2[i]=0;
    }
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...