как исправить неожиданный вывод массива? - PullRequest
0 голосов
/ 07 ноября 2019

Цитата

В моем коде arr [a [i]], созданный для случая, я увеличиваю только arr [0], но вместо увеличения только arr [0] он будет увеличивать всеarr [] почему это происходит, дайте ответ, пожалуйста.

for(i=0;i<n-1;i++)    
{
        printf("*a[i] %d occu%d*\n",a[i],arr[a[i]]);
        if(arr[a[i]]==1)
        {
            a[i+1]=0;
            arr[a[i+1]]+=1;
        }
        else if(arr[a[i]]>1)
        {
            for(j=i-1;j>=0;j--)
            {
                if(a[j]==a[i])
                {
                    last_index=j;
                }
            }
            a[i+1]=i-last_index;
            arr[a[i+1]]+=1;

        }

}

Цитата

 out put for n=5 is
*a[i] 0 occu1*
*a[i] 0 occu2*
*a[i] 1 occu2*
*a[i] 2 occu2*
but expected is
*a[i] 0 occu1* 
*a[i] 0 occu2*
*a[i] 1 occu1*
*a[i] 2 occu1*

enter code here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...