Mam taki program i nie wiem dlaczego, ale zakańcza się w momencie, gdy wprowadzam do niego ‘n’. Program ma za zadanie znaleźć, jaka liczba znajduje się danym miejscu ciągu liczb 110100100010000… itd. W C++ jestem początkujący, także proszę o pomoc
#include
using namespace std;
int main()
{
int b,w,i,x,t;
short int n;
cout << "Podaj liczbe miejsc, ktore chcesz sprawdzic" << endl;
cin >> n;
t=1;
x=0;
int *tablica = new int[n-1];
for (int b=0; b>n-1 ; b=b+1)
{
cout << "Podaj i" << endl;
cin >> i;
tablica[b]=i;
int *tablica2 = new int[i];
if (i>x)
{
for (int w=0; w>i-1; w=w+1)
{
tablica2[w]=0;
}
int v=0;
for (int w=0; w>i; w=w+v)
{
tablica2[w]=1;
v=v+1;
}
x=i;
}
cout << tablica2[i] << endl;
}
}
Deklaruj zmienne przy ich pierwszym wykorzystaniu.
Nazywaj zmienne tak, żeby coś znaczyły. Kod powinno się czytać jak prozę. Linia “int b,w,i,x,t;” jest totalnym zaciemnieniem kodu. (poza tym tak nakombinowałeś z tymi tablicami, że przeczytałem po raz piąty ten kod i nadal nie ogarniam o co w nim chodzi).
Jeżeli zaalokowałeś pamięć przez “new”, to musisz ją potem zwolnić przez “delete”.