Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    150

    Passaggio di parametri in c

    Salve qualcuno mi saprebbe dire come passare ad una funzione C una matrice ??

    Come va dichiarato il prototipo e la relativa funzione ??


    Thanks
    Carlo Carbone

  2. #2

    Re: Passaggio di parametri in c

    Originariamente inviato da Carlo1984
    Salve qualcuno mi saprebbe dire come passare ad una funzione C una matrice ??

    Come va dichiarato il prototipo e la relativa funzione ??


    Thanks
    Se la matrice è statica (cioè conosci già ENTRAMBE le dimensioni) allora così
    codice:
    #include <stdio.h>
    
    //prototipo
    void lavoraConMatrice(int[30][30]);
    
    int main()
    {
    	return 0;
    }
    
    //definizione
    void lavoraConMatrice(int m[30][30])
    {
    ...
    }
    Altrimenti devi usare i doppi puntatori (o tripli o più per matrici a dimensione maggiore di due)


    codice:
    #include <stdio.h>
    
    //prototipo
    void lavoraConMatrice(int**);
    
    int main()
    {
    	return 0;
    }
    
    //definizione
    void lavoraConMatrice(int** m)
    {
    ...
    }
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    150
    Beh ora mi trovo in difficoltà vi posto il codice

    typedef struct nodo { // STRUTTURA DEL NODO NELLA CODA
    int Number;
    char String[5];
    } NODO;

    void InitCross ( ????? )


    int main()
    {
    NODO Incroci[NUM_INCROCI * 2][STACK_DIM];


    InitCross ( ?????????????? );
    }

    void InitCross ( ????? )
    {
    int Index;

    for ( Index = 0 ; Index < NUM_INCROCI * 2 ; Index ++ )
    (*Incroci)[Index][0].Number = 0;

    *Priority = 1;
    }


    Come definisco la funzione ed accedo alla matrice se utilizzo una matrice nxm ???
    Carlo Carbone

  4. #4
    codice:
    
    typedef struct nodo {                           // STRUTTURA DEL NODO NELLA CODA
                   int  Number;
                   char String[5];
                 } NODO;
    
    void InitCross  ( NODO [NUM_INCROCI * 2][STACK_DIM] )
    
    
    int main()
    {                                   
      NODO Incroci[NUM_INCROCI * 2][STACK_DIM];
      
      
      InitCross ( Incroci);  
    }
    
    void InitCross  ( NODO Incroci[NUM_INCROCI * 2][STACK_DIM])
    {              
      int Index;
      
      for ( i= 0 ; i< NUM_INCROCI * 2 ; i++ )
         for ( j= 0 ; j< STACK_DIM ; j++ )
             Incroci[i][j].Number = 0;
                    
      *Priority = 1;
    }
    L'indice i scandisce le righe e per ogni valore di i (quindi per ogni riga) l'indice j scandisce le colonne (quindi gli elementi di ogni riga)
    La prossima volta metti i tag CODE.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

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.