Salve a tutti
ho scritto un programma che calcola il determinante di una matrice...per ora riempita con scalari pseudocasualmente generati....
ecco il sorgente :
ogni volta che passo una matrice come parametro mi dice Wrong passing argument from incompatible pointer type.
come mai?
grazie in anticipo?
ho scritto un programma che calcola il determinante di una matrice...per ora riempita con scalari pseudocasualmente generati....
ecco il sorgente :
Codice:
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
#define PULIZIA printf("\n\n")
int leggiOrdine(void);
void inizializzaMatrice(int**, int);
void estraiMinore(int**, int**,int, int, int);
int detLaplace(int**, int, int);
void outputRisultati(int**,int , int);
int main(void)
{
int n; //ordine della matrice...
n = leggiOrdine();
int mat[n][n];
inizializzaMatrice(mat, n);
outputRisultati(mat, n, detLaplace(mat, n , -1));
PULIZIA;
system("PAUSE");
}
int leggiOrdine()
{ int n; // ordine della matrice...
do { printf("Inserisci l'ordine della matrice :\n");
scanf("%d",&n);
if(n<=0)
{
PULIZIA;
printf("l'ordine deve essere maggiore di 0.");
PULIZIA;
}
}while(n<=0);
return n;
}
void inizializzaMatrice(int **m, int dim)
{ int i,j;
srand(time(NULL));
/*inizializzo la matrice con valori casuali
compresi tra 1 e 6 */
for(i=0;i<dim;i++)
for(j=0;j<dim;j++)
m[i][j] = rand()%6 + 1;
}
void estraiMinore(int **s, int **d,int dimS, int r, int c)
{ int i,j;
for(i=0; i<dimS; i++)
if(i!=r)
for(j=0;j<dimS;j++)
if(j!=c)
d[i][j] = s[i][j];
}
int detLaplace(int **m, int dim, int dont)
{ int j,par; int min[dim-1][dim-1], det;
if(dim >1)
{
det = 0;
par = 1;
for(j=0;j<dim;j++)
if(j!=dont)
{
par *= par;
estraiMinore(m, min, dim, 1, j);
det += m[1][j]*par*detLaplace(min, dim-1,j);
par *= -1;
}
return det;
}
else
return m[0][0];
}
void outputRisultati(int **m,int n, int det)
{ int i,j;
for(i=0;i<n;i++)
{
printf("|");
for(j=0;j<n;j++)
printf("%d", m[i][j]);
printf("|");
if(i == (int)n/2)
printf(" = %d", det);
printf("\n");
}
}
ogni volta che passo una matrice come parametro mi dice Wrong passing argument from incompatible pointer type.
come mai?
grazie in anticipo?