Strona 1 z 1

[c++] Klasa i błąd przy tworzeniu duzej tablcy egzemplarzy

: 28 paź 2015, o 17:54
autor: gabrysb1995

Kod: Zaznacz cały

#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <time.h>

using namespace std;

const int rozmiarTablicy=1000;
const double polozeniePoczatkoweX=100;
const double polozeniePoczatkoweY=100;
const double predkoscPoczatkowaX=100;
const double predkoscPoczatkowaY=100;
const double dzielnikPredkosci=10000; //do losowania predkosci



class mucha
{
private:
    double predkoscX;
    double predkoscY;
    double polozenieX;
    double polozenieY;
    double ocena;
    double tablicaPredkosciX[rozmiarTablicy];
    double tablicaPredkosciY[rozmiarTablicy];
    void czyKolizja();
    bool czyZyje;
public:
    mucha();
    void przemiesc(int);
    double liczOcene();
    double* zwrocTablicex();
    double* zwrocTablicey();
    void mutacja();
    friend void krzyzuj(mucha&, mucha&);
    friend bool porownuj(mucha, mucha);

};

mucha::mucha():predkoscX(predkoscPoczatkowaX), predkoscY(predkoscPoczatkowaY), polozenieX(polozeniePoczatkoweX),polozenieY(polozeniePoczatkoweY), czyZyje(true)
{
    for(int i=0; i<rozmiarTablicy; i++)
    {
        tablicaPredkosciX[i]=rand()/dzielnikPredkosci;
        tablicaPredkosciY[i]=rand()/dzielnikPredkosci;
    }
}

int main()
{
srand(time(NULL) );
mucha tablica[1000];

    return 0;
}

No to tak, abstrahująć od treści i sensowności klasy mam taki problem, że gdy chcę stworzyć tablicę 100 elementową to wszystko jest ok, ale jak np. 1000 elementową to wyskakuje błąd, ktoś mógłby poradzić dlaczego? Zostawiłem tylko konstruktor, definicję innych funkcji wyciąłem, żeby nie zaśmiecać.

[c++] Klasa i błąd przy tworzeniu duzej tablcy egzemplarzy

: 28 paź 2015, o 19:20
autor: Afish
Zapewne tablica nie może zmieścić się na stosie, przenieś ją na stertę.

[c++] Klasa i błąd przy tworzeniu duzej tablcy egzemplarzy

: 28 paź 2015, o 19:24
autor: gabrysb1995
OK, nigdy na to nie zwracałem uwagi, dzięki