c++ naruszenie pamięci

0

Czemu przy N= 1 milion występuje naruszenie pamieci?

#include <iostream>
#include <algorithm> 
#include <vector>
using namespace std;
long long  tab[1000000];
long long t[1000000];
int main()
{
  int N;
  int j=1;
  cin >> N;

int i,licznik=1;
for(i=0;i<2*N;i++) cin>>tab[i];

for(i=0;i<2*N;i++) 
{t[i]=tab[j];
j=j+2;}


sort(t,t+N);
//for(j=0;j<N;j++)
//cout<<t[j]<<endl;
for(j=1;j<N-1;j++)
  if(t[j]!=t[j+1]) licznik++;
cout<<licznik<<endl;
//system("pause");
    return 0;
}
0

bo jedziesz do 2*N ?

0

tylko ten powód?

0

Dzieki A można to jakoś łatwo zmienić?

0

Na wypadek gdybyś zechciał skorzystać z trudniejszego rozwiązania proponował bym zmienić tablice w vectory. Te automatycznie dopasują swoją wielkość, więc nie ma z nimi tego typu problemów (jak spróbujesz wyjść poza zakres podwoją swój rozmiar, więc wszystko będzie ładnie działać).

0

Nie rozumiem tej żaluzji: tak, można. jest taki klawisz Backspace (napis albo strzałka w lewo, gdzieś nad enterem) i cyferki powyżej liter.

1 użytkowników online, w tym zalogowanych: 0, gości: 1