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."
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 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?
Il compilatore restituisce questo errore:
codice:
"[Error] cannot convert 'double (*)[dim1]' to 'double*' for argument '1' to 'void visualizzamatrice(double*, int)'"