Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    [C/C++] Domandone su Vector

    Ciao a tutti.

    Ho provato mezza giornata a fare sta cosa, poi mi sono arreso e ho deciso di fare un post.

    Data la seguente dichiarazione di variabile di tipo vector:

    vector< vector<string> > _myVariable;

    Se avete capito all'incirca come viene creato questo vettore, cioè è un vettore, le cui celle, sono vettori di string.

    Come posso accedere alla cella 0-0 ?

    Cioè, la prima cella del vettore "esterno" e la prima cella del vettore "interno"?

    Grazie

  2. #2
    Ecco a te:

    codice:
    #include <string>
    #include <vector>
    #include <iostream>
    
    int main()
    {
    
    	std::vector<std::string> _atty;
    
    	_atty.push_back("coding");
    	std::cout << _atty[0].at(0) << std::endl;
    
    }

    Tutto chiaro?

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

  3. #3
    scusa avevo letto male il problema, anche se dopo quello che hai visto avresti dovuto capire da solo come funzionava la faccenda. Comunque eccoti la soluzione:

    codice:
    
    #include <string>
    #include <vector>
    #include <iostream>
    
    int main()
    {
    
    	std::vector<std::string> 		_Vect;
    	std::vector< std::vector<std::string> > _myVect;
    
    	_Vect.push_back("coding");
    	_myVect.push_back(_Vect);
    
    	std::cout << _myVect[0][0] << std::endl;
    
    }
    There are 10 kinds of people in the world: who knows the binary numeration and who not

  4. #4
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Bene. Adesso provo a finire il programma

  5. #5
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Dunque, altro problemino :-)

    Per inserire gli elementi nell vector string interno, ho capito come fare però, come faccio ad inserire un record in [1][*] ?

    Dove * è la prima casella libera del vettore interno.. come faccio a selezionare le varie celle del vettore esterno ?

  6. #6
    Sempre nel modo in cui ti ho fatto vedere. Probabilmente ottieni un errore logico (segmentation fault == crash del programma?) che non ti fa andare avanti. Questo perche' vuoi scrivere su della memoria che non avevi allocato preventivamente. Lavora in questa direzione e fammi sapere.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

  7. #7
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Ho provato così:

    Codice PHP:
    #include <string>
    #include <vector>
    #include <iostream>

    int main()
    {

        
    std::vector<std::string>         _Vect;
        
    std::vectorstd::vector<std::string> > _myVect;

        
    _Vect.push_back("coding");
        
    _myVect.push_back(_Vect);
        
    _Vect.push_back("Prova");
        
    _myVect[1].push_back(_Vect);

        
    std::cout << _myVect[1][0] << std::endl;
        
    std::cout << _myVect[0][0] << std::endl;

     
    char tcin >> t;


    Ma non funziona

  8. #8
    Ci sono due errori di sintassi e uno logico. Errori di sintassi:

    1) _myVect[1].push_back(_Vect);

    _myVect[1] e' un std::vector di std::string, quindi devi pushargli una std::string e non un std::vector

    2) cin >> t;

    Devi scriverlo std::cin >> t;


    L'errore logico sta nel fatto che tu hai solo 1 elemento nel vettore _myVect e vuoi leggerne il secondo ( std::cout << _myVect[1][0] << std::endl; ): otterrai irrimediabilmente un crash dovuto all'accesso in una zona di memoria fuori dal tuo address space.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

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.