Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    182

    [C++] array tridimensionale......

    Ho sempre visto array a una o a due dimensioni..ora mi è venuto lo sfizio di vedere cosa mi stampa la console... con questo codice c++ mi appaiono tanti numeri velocemente e poi il programma termina bruscamente.. come mai?


    codice:
    #include <iostream>
    using namespace std;
    
    main() 
    { 
    int a[2][2][2]={{1,2},
                    {4,5}};
    for(int i=0; i<2; i++)
            for(int j=0; j<2; j++)
                    for(int k=0; j<2; k++)
                    cout<<a[i][j][k]; 
    
    return 0;
    system("pause");
    }

  2. #2

    Re: [C++] array tridimensionale......

    Originariamente inviato da mistergks
    e poi il programma termina bruscamente.. come mai?
    codice:
    $ g++ --version
    i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
    $ g++ -Wall -ansi -Wextra -Wconversion -pedantic main.cpp
    main.cpp:4: error: ISO C++ forbids declaration of ‘main’ with no type
    main.cpp: In function ‘int main()’:
    main.cpp:7: warning: missing braces around initializer for ‘int [2]’
    main.cpp:7: warning: missing braces around initializer for ‘int [2]’

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    182
    ops ho dimenticato l'int al main()...ma non si risolve ugualmente però!

  4. #4
    Il punto erano gli altri due errori... non hai inizializzato correttamente l'array.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    182
    Nemmeno così!
    ora sono otto elementi...??
    codice:
    int a[2][2][2]={{1,2},
                    {3,4},
                    {5,6},
                    {7,8}};

  7. #7
    Originariamente inviato da mistergks
    Nemmeno così!
    ora sono otto elementi...??
    codice:
    int a[2][2][2]={{1,2},
                    {3,4},
                    {5,6},
                    {7,8}};
    stai inizializzando un array [2][2][2] come se fosse un array [4][2].
    E' sbagliata anche la condizione d'uscita del for più interno.

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [C++] array tridimensionale......

    Originariamente inviato da mistergks
    Ho sempre visto array a una o a due dimensioni..ora mi è venuto lo sfizio di vedere cosa mi stampa la console... con questo codice c++ mi appaiono tanti numeri velocemente e poi il programma termina bruscamente.. come mai?


    codice:
    return 0;
    system("pause");
    }
    Termina bruscamente senza farti vedere i risultati? Beh, hai messo il return prima di system("pause")...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    182
    non è questo il problema..cioè aggiustandolo non si risolve.. mi da questo errore:
    codice:
     error: too many initializers for `int[2][2][2]'
    Penso che la matrice non è ben inizializzata...non so quanti elementi metterci e come metterli..

  10. #10
    ti conviene inizializzare elemento per elemento con tre cicli for! l'errore sta all'atto dell'inizializzazione.

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.