tablica z nieznaną ilością elementów, program się sypie!!

0

Po podaniu 11 elementu program się spie. tzn wyskakuje komunikat program tablice.exe przestał działać. zależy mi na tym aby nie podawać wcześniej ilości podawanych liczb, jest to możliwe ?

#include <iostream>
#include <conio.h>
using namespace std;            
main ()
{
      cout<<"Podaj cyfr które chcesz dodać do siebie, po każdej liczbie naciskaj Enter, zero kończy podawanie:";
      int l=1;
      int w=0;
      int akt;
      int liczby[w];
             while (l!=0)
             {
                   cin>>l;
                   liczby[w]=l;
                   w++;
             }
             cout<<endl<<w;
             akt=w-3;
             cout<<liczby[akt];
             getch();
             
} 
1

tworzysz 0 elementową tablicę

0

to czemu przy podawaniu liczb które zapisują się w tablicy od [0] do [9] nie jest to problem, a jeżeli jest to problem to jak go rozwiązać dla elementów [10+]. Z góry dzięki

1

std::vector

0

dzięki :) temat do zamknięcia

0

to czemu przy podawaniu liczb które zapisują się w tablicy od [0] do [9] nie jest to problem, a jeżeli jest to problem to jak go rozwiązać dla elementów [10+]. Z góry dzięki

Bo C/C++ nie bawi sie w sprawdzanie zakresów tablic tylko zakłada że jesteśmy dorośli i wiemy co robimy. A u ciebie po prostu zamazujesz jakiś obszar pamięci. Akurat widocznie na pozycjach 0-9 nie było nic ciekawego więc program się nie sypnął (gdybyś miał tam jakieś dane to byś je stracił) ;]

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