Autore |
Discussione  |
|
HUNZ
Nuovo Utente
|
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
|
|
genius
dott. ing. cav. ...FN
    

Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi
|
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]
|
"...e se non hai morale e se non hai passione se nessun dubbio ti assale perché la sola ragione che ti interessa avere è una ragione sociale soprattutto se hai qualche dannata guerra da fare non farla nel mio nome non farla nel mio nome che non hai mai domandato la mia autorizzazione se ti difenderai non farlo nel mio nome che non hai mai domandato la mia opinione..."
Un blog farlocco |
 |
|
HUNZ
Nuovo Utente
|
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 |
 |
|
kizzu
Utente medio
 

Regione: Puglia
Prov.: Bari
Città: Cerignola
|
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 |
My pc:MB:intel865 PERL,pentium 4 3.0 prescott,1Gb RAM 2.5-3-3-7,Sapphire 9600XT 256Mb,terratec cinergy 400,MAXTOR 160GB SerialATA,LG DVDRAM-4160B,LG CD-RW GCE-8520B,LG DVD-ROM GDR8163B GSACreative® Inspire™ P5800
Boia chi molla kizzu aziz |
 |
|
kizzu
Utente medio
 

Regione: Puglia
Prov.: Bari
Città: Cerignola
|
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); }
|
My pc:MB:intel865 PERL,pentium 4 3.0 prescott,1Gb RAM 2.5-3-3-7,Sapphire 9600XT 256Mb,terratec cinergy 400,MAXTOR 160GB SerialATA,LG DVDRAM-4160B,LG CD-RW GCE-8520B,LG DVD-ROM GDR8163B GSACreative® Inspire™ P5800
Boia chi molla kizzu aziz |
 |
|
HUNZ
Nuovo Utente
|
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];
} } } |
 |
|
genius
dott. ing. cav. ...FN
    

Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi
|
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!!!! |
"...e se non hai morale e se non hai passione se nessun dubbio ti assale perché la sola ragione che ti interessa avere è una ragione sociale soprattutto se hai qualche dannata guerra da fare non farla nel mio nome non farla nel mio nome che non hai mai domandato la mia autorizzazione se ti difenderai non farlo nel mio nome che non hai mai domandato la mia opinione..."
Un blog farlocco |
 |
|
HUNZ
Nuovo Utente
|
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
dott. ing. cav. ...FN
    

Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi
|
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  |
"...e se non hai morale e se non hai passione se nessun dubbio ti assale perché la sola ragione che ti interessa avere è una ragione sociale soprattutto se hai qualche dannata guerra da fare non farla nel mio nome non farla nel mio nome che non hai mai domandato la mia autorizzazione se ti difenderai non farlo nel mio nome che non hai mai domandato la mia opinione..."
Un blog farlocco |
 |
|
|
Discussione  |
|
|
|