Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [C++] Errore in fase di inizializzazione

    Salve a tutti, ho un codice che in genere non da nessun problema.
    Dà problemi invece "a quanto pare" se le dimensioni ( nodisaldatura.size() ) cominciano a essere grandi e se ne esce dal main:
    codice:
    print("CALCOLO FORZE LINEARI EQUIVALENTI");
        int VirtualNode; //0 = NO; 1=SI
        double fx[nodisaldatura.size()];
        double fy[nodisaldatura.size()];
        double fz[nodisaldatura.size()];
        double mx[nodisaldatura.size()];
        double my[nodisaldatura.size()];
    
        //double mz[nodisaldatura.size()]; //non necessaria ai fini del calcolo dello structural stress
        std::vector<double> fx_vn(nodisaldatura.size()-2,0.);
        std::vector<double> fy_vn(nodisaldatura.size()-2,0.);
        std::vector<double> fz_vn(nodisaldatura.size()-2,0.);
        std::vector<double> mx_vn(nodisaldatura.size()-2,0.);
        std::vector<double> my_vn(nodisaldatura.size()-2,0.);
    
        std::vector<double> fx_cir(nodisaldatura.size(),0.);
        std::vector<double> fy_cir(nodisaldatura.size(),0.);
        std::vector<double> fz_cir(nodisaldatura.size(),0.);
        std::vector<double> mx_cir(nodisaldatura.size(),0.);
        std::vector<double> my_cir(nodisaldatura.size(),0.);
    
        std::vector<std::vector<double> > M;//(nodisaldatura.size(),nodisaldatura.size());
        std::vector<std::vector<double> > Mvirtual;//nel caso si usi il metodo del nodo virtuale
    
        //inizializzazione
        std::vector<double> riga_n(nodisaldatura.size(),0.); //serve per inizializzazione matrice con tutti 0
        std::vector<double> riga_m(nodisaldatura.size()-2,0.);
        for(int i=0;i<nodisaldatura.size();i++) {
            fx[i]=0.;
            fy[i]=0.;
            fz[i]=0.;
            mx[i]=0.;
            my[i]=0.;
            //mz[i]=0.; //non necessaria ai fini del calcolo dello structural stress
            M.push_back(riga_n);
            Mvirtual.push_back(riga_m);
        }
    da qualche parte nel codice in neretto qualcosa non funziona e il programma si blocca...
    Cosa può essere e come potrei risolvere?

    Vi ringrazio!

  2. #2
    ...c'è per caso un limite fisico al numero di "array"?

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Beh ... dipende dall'errore che ottieni e dalle dimensioni (che non conosciamo) dei vari array e vettori.

    Fai un rapido conto della memoria necessaria.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.