Giusto,
ho modificato il codice
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("%4.2f ", mat[x][y]);
}
printf("\nInserisci 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("%4.1f ", mat[x][y]);
}
printf("\n");
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)
{
matriceap[j][k]=matrice[x][y];
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];
}
}
}
Ora il problema è che metà dei numeri sono uguali a zero e metà no.