AQUÍ VA MI CÓDIGO:
Código
Y AQUÍ EL PROBLEMA QUE ME DA AL COMPILAR:
#include <stdio.h> #include <limits.h> int determinante(int** m1, int n){ int det1, det2, det3; if(n==2){ det1=(m1[0][0]*m1[1][1])-(m1[0][1]*m1[1][0]); return(det1); } if(n==3){ det2=((m1[0][0]*m1[1][1]*m1[2][2])+(m1[0][1]*m1[1][2]*m1[2][0])+(m1[0][2]*m1[1][0]*m1[2][1]))-((m1[0][2]*m1[1][1]*m1[2][0])+(m1[0][0]*m1[1][2]*m1[2][1])+(m1[0][1]*m1[1][0]*m1[2][2])); return(det2); } if(n==4){ int detA, detB, detC, detD; detA=m1[0][0]*(m1[1][1]*m1[2][2]*m1[3][3]+m1[1][2]*m1[2][3]*m1[3][1]+m1[2][1]*m1[3][2]*m1[1][3]-m1[1][3]*m1[2][2]*m1[3][1]-m1[1][1]*m1[2][3]*m1[3][2]-m1[1][2]*m1[2][1]*m1[3][3]); detB=m1[0][1]*(m1[1][0]*m1[2][2]*m1[3][3]+m1[2][0]*m1[3][2]*m1[1][3]+m1[1][2]*m1[2][3]*m1[3][0]-m1[3][0]*m1[2][2]*m1[1][3]-m1[2][0]*m1[1][2]*m1[3][3]-m1[2][3]*m1[1][0]*m1[3][2]); detC=m1[0][2]*(m1[1][0]*m1[2][1]*m1[3][3]+m1[1][1]*m1[2][3]*m1[3][0]+m1[2][0]*m1[3][1]*m1[1][3]-m1[1][3]*m1[2][1]*m1[3][0]-m1[3][1]*m1[2][3]*m1[1][0]-m1[2][0]*m1[1][1]*m1[3][3]); detD=m1[0][3]*(m1[1][0]*m1[2][1]*m1[3][2]+m1[1][1]*m1[2][2]*m1[3][0]+m1[2][0]*m1[3][1]*m1[1][2]-m1[1][2]*m1[2][1]*m1[3][0]-m1[2][0]*m1[1][1]*m1[3][2]-m1[1][0]*m1[3][1]*m1[2][2]); det3=detA-detB+detC-detD; return(det3); } if(n!=2 && n!=3 && n!=4){ return(INT_MIN); } } int main(){ int n; int m1[n][n]; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ } } determinante(m1, n); return 0; }
Código:
4.c: In function ‘main’:
4.c:43:15: warning: passing argument 1 of ‘determinante’ from incompatible pointer type [-Wincompatible-pointer-types]
determinante(m1, n);
^
4.c:4:5: note: expected ‘int **’ but argument is of type ‘int (*)[(sizetype)(n)]’
int determinante(int** m1, int n){
^
· Los códigos deben ir en etiquetas GeSHi
· Evita escribir en mayúsculas
>aquí las reglas del foro
-Engel Lex