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

    [C] Controllo su vettore bidimensionale.

    Ho un vettore bidimensionale 4x4.
    Vorrei fare un controllo su questo vettore.
    Come faccio ad indicare tutto il vettore?

    Esempio:
    if((x[0][0]&&x[0][1]&&x[0][2]&&x[0][3])!=0)

    C'è una soluzione più pulita per descrivere in maniera compatta quello che ho scritto sopra?

    Grazie.

  2. #2
    codice:
    if( x[0][0]*x[0][1]*x[0][2]*x[0][3] )
    {
    ....
    }
    :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326

    Re: [C] Controllo su vettore bidimensionale.

    Originariamente inviato da Matthew82
    if((x[0][0]&&x[0][1]&&x[0][2]&&x[0][3])!=0)
    Matthew questa condizione è errata: il simbolo di disuguaglianza lo devi specificare per ogni elemento della matrice, non lo puoi scrivere solo alla fine...

    Scrivi:

    codice:
    if (x[0][0]!=0 && x[0][1]!=0 && x[0][2]!=0 && x[0][3]!=0) {
       fai qualcosa...
    }
    Comunque effettivamente la ripetizione di quel !=0 4 volte è bruttissima. Potresti fare qualcosa così (ma se non so cosa devi fare mi risulta difficile consigliarti qualcosa)

    codice:
    short i, cnt=0;
    
    for (i=0; i<4; i++)
       if ( x[0][i]!=0 )
          cnt++;
    
    if (cnt==4)
       fai qualcosa...

  4. #4

    Re: Re: [C] Controllo su vettore bidimensionale.

    Originariamente inviato da YuYevon

    Originariamente inviato da Matthew82
    if((x[0][0]&&x[0][1]&&x[0][2]&&x[0][3])!=0)
    Matthew questa condizione è errata: il simbolo di disuguaglianza lo devi specificare per ogni elemento della matrice, non lo puoi scrivere solo alla fine...

    [/code]
    Quella condizione è logicamente corretta.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Ah si scusatemi è vero, non avevo notato che c'erano due parentesi interne. Certo se si usasse qualche spazio in più caso mai...

  6. #6
    Il "!=0" nell'if comunque è superfluo.
    Amaro C++, il gusto pieno dell'undefined behavior.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.