Стек вокруг переменной A (массив) или n (размер массива) поврежден - PullRequest
0 голосов
/ 13 октября 2018

Эта программа проверяет четкость в массиве.(нет повторяющихся значений в массиве, т. е. если 1 2 3 3 4 - массив, то он не различим).этот код не скомпилируется, хотя (я считаю, что) индекс массива не вышел за пределы цикла for.theRun-Time Check Failure говорит, что стек вокруг переменной 'n' был поврежден, когда я ввожу n = 12.НО говорит, что стек вокруг переменной 'A' был поврежден, когда я ввел n = 10. с точно такими же переменными, введенными в массив на втором шаге.(ошибка появляется после ввода четвертого целого числа)

#include <iostream>
using namespace std;
int main()
{
    int n;
    int A[] = {0};
    int integer;
    cout<<"Enter the size of the array\n";
    cin>>n;
    cout<<"enter "<<n<<" integers\n";
    for (int i = 0 ; i < n ; i++)
    {
        cin>>A[i];  
    }
    for (int i = 0 ; i < n ; i++)
    {
        for (int j = 0 ; j < n - i; j++)
        {
            if(A[j+1] > A[j])
            {
                int temp;
                temp = A[j];
                A[j+1] = A[j];
                A[j+1] = temp;
            }
        }
    }
    for (int i = 0 ; i < n; i++)
    {
        if (A[i] - A[i+1] ==0 ){
            cout<<"\nThe Array Is Not Distinct !\n";
            break;
        }
        else 
        {
            cout<<"\nThe Array Is Distinct !\n";
        }
    }

    system("pause");
    return 0;

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