Ciao,
devo fare un programma che inserita una matrice quadrata calcoli il minimo complementare.
Il problema è che il compilatore mi da 2 problemi sulla funzione mc:
1) incompatible type for argument 1 of `mc'
2) conflicting types for 'mc'
3) previous declaration of 'mc' was here
codice:
#include<stdio.h>
void mc(float, int, int, int);
int main()
{
float mat[100][100];
int x,y,i,er,ec;
printf("Inserisci il numero di righe e colonne della matrice quadrata:");
scanf("%d", &i);
for(y=0;y<i;y++)
{
for(x=0;x<i;x++)
{
printf("Inserisci il valore della matrice in posizione %d %d ", x+1, y+1);
scanf("%f", &mat[x][y]);
}
}
for(y=0;y<i;y++)//Matrice prima di essere modificata
{
printf("\n");
for(x=0;x<i;x++)
printf("%f", mat[x][y]);
}
printf("Inserisci il numero della riga che vuoi eliminare");
scanf("%d", &er);
printf("Inserisci il numero della colonna che vuoi eliminare");
scanf("%d", &ec);
mc(mat,er,ec,i);
for(y=0;y<i-1;y++)//Matrice dopo essere stata modificata
{
printf("\n");
for(x=0;x<i-1;x++)
printf("%f", mat[x][y]);
}
system("pause");
return 0;
}
//Implementazione della funzione per il minore complementare
void mc(float matrice [][100], int eriga, int ecolonna, int i)
{
float matriceap [100][100];
int x,y,j=0,k=0; //j è il numero della riga della matrice d'appoggio - k il numero della colonna della matrice d'appoggio
for(y=0;y<i;y++)
{
for(x=0;x<i;x++)
{
if(x!=eriga-1 && y!=ecolonna-1)
{
matrice[x][y]=matriceap[j][k];
j++;
k++;
}
}//chiusura for della x
}//chiusura for della y
for(y=0;y<i-1;y++)//copiatura della matrice dappoggio nella matrice originale
{
for(x=0;x<i-1;x++)
{
matrice[x][y]=matriceap[x][y];
}
}
}
Ciao e grazie in anticipo dell'aiuto