Giusto,
ho modificato il codice
Ora il problema è che metà dei numeri sono uguali a zero e metà no.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]; } } }

Rispondi quotando