Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C++]Aiuto! Passare dati e assegnarli ad un array bidimensionale

    Ho bisogno di un aiuto. Il discorso è un pò complicato quindi se avete domande postate pure.
    In C++ ho bisogno di passare ad una funzione un formato dati fatto in questa maniera '( 1,2,3,4 )' e '( 9,3,5,4 )'( ovviamente i numeri possono cambiare).
    L'intestazione della funzione l'ho fatta così double* dati(double *numeri1, double *numeri2)
    Adesso quello che voglio fare ( e che mi viene difficile ) è assegnare i dati passati ad un array bidimensionale, ad esempio tramite un ciclo for. Io ho fatto così ma non mi funziona, mi dà 'Segmentation fault':


    for(int i = 0; i < 4; i++)
    input[0][i] = numeri1[i];

    for(int i = 0; i < 4; i++)
    input[1][i] = numeri2[i];

    Sapete darmi una mano?

  2. #2
    come allochi la memoria per il vettore input?
    ciao
    sergio

  3. #3
    Nella funzione inizializzo così:
    double input[2][4];

  4. #4
    ad occhio non dovrebbe darti errore.
    Sei sicuro che che l'errore si sollevi quando vai quella assegnazione?
    come chiami la funzione?
    ciao
    sergio

  5. #5
    Ho fatto tante prove è sono più che sicuro che il problema sta nell'assegnazione.

  6. #6
    questo codice non dà errore
    codice:
    int main()
    {
    double input[2][4];
    double numeri1[4], numeri2[4];
    
    for(int i = 0; i < 4; i++)
    	input[0][i] = numeri1[i];
    
    for(int i = 0; i < 4; i++)
    	input[1][i] = numeri2[i];
    return (0);
    }
    ciao
    sergio

  7. #7
    Io passo dati alla funzione con questo formato: '( 1,2,3,4 ). Questo viene riconusciuto come array dalla funzione?

  8. #8
    codice:
    ...
    double numeri1[]={1,2,3,4}, numeri2[]={1,2,3,4};
    dati (numeri1, numeri2);
    ...

  9. #9
    Non hai capito bene. I numeri che io passo li scrivo sul terminale e quindi non sono sempre dei valori costanti ma vanno cambiando.

  10. #10
    codice:
    double numeri1[4], numeri2[4];
    ...
    /*
    inserisco i dati nei due vettori, da tastiera o da programma
    per es numeri1[0]=2; 
    */
    ...
    dati (numeri1, numeri2);
    ...

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.