Ciao a tutti! Sono nuovo e quindi mi presento. Mi chiamo Fabio e frequento il primo anno di Ingegneria Informatica a Genova e sono capitato in un problema con C++ che non riesco a risolvere.
Il testo dell'esercizio è il seguente: "[I]Si scriva una funzione C++ che calcoli il [I]prodotto degli elementi sulla diagonale principale di una matrice quadrata. La funzione riceverà come parametro un array bidimensionale di numeri reali, contenente la matrice, e le sua dimensione. Si scriva quindi un programma C++ per verificare il corretto funzionamento della funzione. E’ responsabilità del programma chiamante passare alla funzione una matrice delle dimensioni corrette."
Il codice del programma non è completo in quanto mi sono limitato solo a visualizzare la matrice che ho fatto inserire all'utente. Tuttavia non riesco a capire come realizzare correttamente il passaggio dell'array bidimensionale alla funzione visualizzamatrice(). Qualcuno potrebbe aiutarmi?codice:#include <iostream>using namespace std; void visualizzamatrice (double matrice[][], int dimensione) { for (int i=0;i<dimensione;i++) { for (int j=0;j<dimensione;j++) { cout<<matrice[j]<<" "; } cout<<endl; } } int main() { int dim1; cout<<"Inserisci il numero di colonne e righe: ";cin>>dim1;cout<<endl; double matrice[dim1][dim1]; for (int i=0;i<dim1;i++) { for (int j=0;j<dim1;j++) { cout<<"Inserisci l'elemento posto nella "<<i+1<<"° colonna e "<<j+1<<"° riga: ";cin>>matrice[j];cout<<endl; system("CLS"); } } visualizzamatrice (matrice, dim1); }
Il compilatore restituisce questo errore:
codice:"[Error] cannot convert 'double (*)[dim1]' to 'double*' for argument '1' to 'void visualizzamatrice(double*, int)'"

Rispondi quotando
