ciao a tutti..ho un problema con la tesi e non riesco a risolvrlo.
devo trovare tutte le possibili permutazioni della matrice identita'(3x3) e visualizzarle tutte..il linguaggipo che uso e' il c..chi puo' aiutarmi?ciao
ciao a tutti..ho un problema con la tesi e non riesco a risolvrlo.
devo trovare tutte le possibili permutazioni della matrice identita'(3x3) e visualizzarle tutte..il linguaggipo che uso e' il c..chi puo' aiutarmi?ciao
il linguaggio va specificato anche nel titolo.
qui trovi il nostro regolamento
io sono festosamente cicciottello :: e. cartman
t'amo senza sapere come, nč quando nč da dove,
t'amo direttamente senza problemi nč orgoglio:
cosė ti amo perchč non so amare altrimenti
Permutazioni di cosa?Delle righe, delle colonne,di tutti gli elementi?Spiegati meglio
Il centro dell'attenzione non č sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
devo permutare sia le righe che le colonne
Toh dimmi se va bene,l'ho provato due o tre volte e mi sembra che fungacodice:#include <stdio.h> #define BYROWS 1 #define BYCOLS 0 void Perm(int** matrix,int i,int n,int permBy); void swap(int** matrix,int i,int j); int main() { int i,j; //cambiando solo questi puoi cambiare l'ordine delle matrici //identitā da permutare int nrows=3; int ncols=3; //allocazione dinamica matrice int** I = (int**)malloc(nrows * sizeof(int*)); for(i=0;i<=nrows;i++) { I[i]= (int*)malloc(ncols * sizeof(int)); } //inizializzazione come matrice identitā for(i=0;i<nrows;i++) for(j=0;j<ncols;j++) I[i][j] = (i == j) ? 1: 0; printf("Per righe:\n\n"); Perm(I,0,nrows-1,BYROWS); printf("Per colonne:\n\n"); Perm(I,0,nrows-1,BYCOLS); system("PAUSE"); } void Perm(int** matrix,int i,int n,int permBy) { int j,k; if(i==n) { for(j=0;j<=n;j++) { //basta stmapare le trasposte delle permutazioni //per riga per permutare per colonna for(k=0;k<=n;k++) if(permBy = BYROWS) printf("%d",matrix[j][k]); else printf("%d",matrix[k][j]); printf("\n"); } printf("\n"); } else for(j=i;j<=n;j++) { swap(matrix,i,j); Perm(matrix,i+1,n,permBy); swap(matrix,i,j); } } //scambia due righe void swap(int** matrix,int i,int j) { int* temp; temp = matrix[i]; matrix[i] = matrix[j]; matrix[j] = temp; }
Il centro dell'attenzione non č sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
usando il dev c++ non me lo compila...magari provo a rivederlo e ppoi ti faccio sapere..intanto grazie
anzi dimmi che compilatore hai che provo con quello
Dec-C++ 4.9.8.0.E' strano....postami l'output esatto del compilatore,voglio vedere che errori ti da
Il centro dell'attenzione non č sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
da' i seguenti errori:
16 C:\Documents and Settings\Palli'\Desktop\permutazioni\permut.cpp
`malloc'
16 C:\Documents and Settings\Palli'\Desktop\permutazioni\permut.cpp
(Each
31 C:\Documents and Settings\Palli'\Desktop\permutazioni\permut.cpp
`system'
Pedr la malloc metti in testa la file #include <stdio.h>,per la system sostituiscila con :
Fammi saperecodice:fflush(stdin); getchar();
Il centro dell'attenzione non č sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)