konishyapl Temat założony przez niniejszego użytkownika |
Przekazywanie tablic do Funkcji » 2017-11-05 22:47:57 Witam, napisałem taki programik, do pracy domowej z kursu, wszystko działa ładnie pięknie, oprócz jednej rzeczy, jeśli wielkość tablicy wprowadzę ponad 1004, program wywala błąd, poniżej działa wszystko ok, ktoś może mi wytłumaczyć problem? Z góry dziękuję #include <iostream> #include <cstdlib> #include <ctime> using namespace std;
void func( int t[], int rozmiar, int a, int b ) { srand( time( NULL ) ); int x = 0; int licznik = 0; int wynik = 0; do { t[ x ] =( std::rand() % a ) + b; cout << "Liczba " << licznik << " to: " << t[ x ] << endl; x++; licznik++; wynik += t[ x - 1 ]; } while( x <= rozmiar ); cout << "Wynik to: " << wynik << endl; }
int main() { int rozmiar = 0; int a, b, z; int tablica[ 1000 ]; cout << "Wprowadz rozmiar tablicy: " << endl; cin >> rozmiar; cout << "Wprowadz zakres liczb, od..do " << endl; cin >> b; cin >> z; a = z -( b - 1 ); func( tablica, rozmiar, a, b ); return 0; }
|
|
konishyapl Temat założony przez niniejszego użytkownika |
» 2017-11-05 23:15:49 |
|
pekfos |
» 2017-11-05 23:55:27 Wychodzisz poza zakres tablicy. |
|
konishyapl Temat założony przez niniejszego użytkownika |
» 2017-11-06 20:35:38 Dziękuję za odpowiedź
hymmm skoro tablica ma 1000 elementów, to dlaczego dopiero przy 1005 wyskakuje błąd?
i drugię pytanie, jak zaimplementować tablicę, aby później uzależnić jej wielkość od jakiejś zmiennej? wielkość tablicy w momencie tworzenia jej musi być znana? myślałem, że dzięki temu co napisałem, będę mógł jej wielkość uzależnić od zmiennej, będę wdzięczny za jeszcze jakąś wskazówkę :) |
|
pekfos |
» 2017-11-06 23:10:54 hymmm skoro tablica ma 1000 elementów, to dlaczego dopiero przy 1005 wyskakuje błąd? |
Bo tak wyszło. i drugię pytanie, jak zaimplementować tablicę, aby później uzależnić jej wielkość od jakiejś zmiennej? |
Alokuj dynamicznie, albo lepiej użyj std::vector<>. |
|
konishyapl Temat założony przez niniejszego użytkownika |
» 2017-11-07 23:30:57 okej! póki co drugiej metody kompletnie nie znam, pierwszej praktycznie też nie, ale mam już wszystko co potrzebowałem wiedzieć, raz jeszcze dziękuję :) |
|
« 1 » |