V I S U A L I Z Z A D I S C U S S I O N E |
HUNZ |
Inserito il - 01/10/2006 : 18:38:00 ciao a tutti qualcuno a svolto l'Esercitazione del 18/11/2005 precisamente l'esercizio 3 e precisamente dal calcolo della trasposta in poi??? c'è qualcuno che puo farmelo vedere?anche solo la definizione della funzione che calcola la trasposta....  Vi ringrazio anticipatamente confido in una vosta risposta |
8 U L T I M E R I S P O S T E (in alto le più recenti) |
genius |
Inserito il - 03/10/2006 : 13:03:50 Citazione: Messaggio inserito da HUNZ
Genius.....nn so proprio dove nascondere la mia FACCIA!!!!!un errore cosi stupido.... cmq grazie!!!spero di poter contare sul tuo aiuto anche in futuro......GRAZIE ANCORA.
certo ke puoi contarci  |
HUNZ |
Inserito il - 03/10/2006 : 11:37:08 Genius.....nn so proprio dove nascondere la mia FACCIA!!!!!un errore cosi stupido.... cmq grazie!!!spero di poter contare sul tuo aiuto anche in futuro......GRAZIE ANCORA. |
genius |
Inserito il - 03/10/2006 : 10:07:58 perkè gli indici dei vettori in c vanno da 0 a n-1... tu addirittura li fai arrivare a 7!!!! |
HUNZ |
Inserito il - 02/10/2006 : 13:15:07 Gia provato ma nn funziona kizzu....cmq qualcuno sa dirmi perche qsto nn mi da errorei in fase di compilazione, mentre quando poi lo eseguo mi da errore??:
#include <stdio.h> #define size 4 void Msomma (const int pri[][4],const int sec[][4],int ter[][4],int,int);
int main() { int prima [2][4] ={{5,10,8,1},{4,5,6,2}}; int seconda [2][4] ={{5,1,2,3},{3,2,1,4}}; int terza [2][4] ={};
Msomma (prima, seconda, terza, size,size);
return 0; }
void Msomma (const int pri[][4],const int sec[][4],int ter[][4],int,int) { int i,j,som; for (i=0;i<=7;i++){ for (j=0;j<=7;j++){ ter[i][j]=pri[i][j]+sec[i][j];
} } } |
kizzu |
Inserito il - 01/10/2006 : 19:37:01 * Calcolare la trasposta di una matrice di interi allocata dinamicamente. ***************************************************************************** */
#include <stdio.h> #include <stdlib.h>
void main() { int **matrice, **trasposta; int righe, colonne, r, c;
printf("Quante righe ha la matrice: "); scanf("%d", &righe); printf("Quante colonne ha la matrice: "); scanf("%d", &colonne);
/* allocazione della matrice */ matrice = (int **)malloc(righe * sizeof(int *)); for (r=0; r<righe; r++) matrice[r] = (int *)malloc(colonne * sizeof(int));
/* inserimento dati */ for (r=0; r<righe; r++) for (c=0; c<colonne; c++) { printf("Inserisci elemento di riga %d e colonna %d: ", r, c); scanf("%d", &matrice[r][c]); }
/* alloco la matrice trasposta */ trasposta = (int **)malloc(colonne * sizeof(int *)); for (c=0; c<colonne; c++) trasposta[c] = (int *)malloc(righe * sizeof(int));
/* calcolo della trasposta */ for (r=0; r<righe; r++) for (c=0; c<colonne; c++) trasposta[c][r] = matrice[r][c];
/* stampo la trasposta */ printf("La trasposta è:\n"); for (c=0; c<colonne; c++) { for (r=0; r<righe; r++) printf("%d ", trasposta[c][r]); printf("\n"); } /* dealloco la matrice */ for (r=0; r<righe; r++) free(matrice[r]); free(matrice);
/* dealloco la trasposta */ for (c=0; c<colonne; c++) free(trasposta[c]); free(trasposta); }
|
kizzu |
Inserito il - 01/10/2006 : 19:33:41 devi fare piu o meno così... /* QUESTO PROGRAMMA EFFETTUA IL PRODOTTO DI UNA MATRICE NxM PER LA SUA TRASPOSTA MxN */
#include<iostream.h> #include<conio.h>
int r,c; char scelta; typedef int matrice[10][10]; matrice Mat1,Mpro,Tra;
void leggi(int &x,int &y,matrice M); void prodotto(matrice Ma,matrice Mb,matrice Mp); void tras(matrice M,matrice T); void stampa(matrice Mp,int a);
void main() { do { clrscr(); leggi(r,c,Mat1); tras(Mat1,Tra); prodotto(Mat1,Tra,Mpro); stampa(Mpro,r); cout<<"\n "; cout<<"\n VUOI CONTINUARE (n/s) : ";cin>>scelta; } while (scelta=='s'); }
void leggi(int &x,int &y,matrice M) { int i,j;
cout<<"\n DAMMI IL NUMERO DI RIGHE : ";cin>>x; cout<<"\n DAMMI IL NUMERO DI COLONNE : ";cin>>y; for (i=1;i<=x;i++) { cout<<"\n"; for (j=1;j<=y;j++) { cout<<"DAMMI L' ELEMENTO ["<<i<<" , "<<j<<"] : "; cin>>M[i][j]; } } }
void prodotto(matrice Ma,matrice Mb,matrice Mp) { int i,j,k;
for (i=1;i<=r;i++) for (j=1;j<=r;j++) { Mp[i][j]=0; for (k=1;k<=c;k++) Mp[i][j]=Mp[i][j]+Ma[i][k]*Mb[k][j]; } }
void stampa(matrice Mp,int a) { int i,j;
for (i=1;i<=a;i=i=i+1) { cout<<"\n "; for (j=1;j<=a;j=j+1) cout<<Mp[i][j]<<" "; } }
void tras(matrice M,matrice T) { int i,j;
for (i=1;i<=r;i++) for (j=1;j<=c;j++) T[j][i]=M[i][j]; }
potevi venire |
HUNZ |
Inserito il - 01/10/2006 : 19:13:20 si lo so ma il tutto all'interno di una funzione come si definisce?cmq grazie per aver risposto |
genius |
Inserito il - 01/10/2006 : 19:08:46 la trasposta di una matrice?... A[n][m] matrice di partenza B[m][n] matrice trasposta
per i = 1 a n
per j= 1 a m
B[j,i] = A[i,j]
|
|
|