Oppure

Loading
18/10/12 19:50
tullio1995
	z=(pm[0]*sm[0])+(pm[1]*sm[2]);
	x=(pm[0]*sm[1])+(pm[1]*sm[3]);
	y=(pm[2]*sm[0])+(sm[3]*sm[2]);
	j=(pm[2]*sm[1])+(pm[3]*sm[3]);
	printf("%lf , %lf\n",z,x);
	printf("%lf , %lf\n",y,j);
	return 0;
}

pm e sm sono le due matrici 2x2. il problema che trovo, è che la y, non da un risultato esatto con tutte le matrici. Ad esempio:

A=|3 -2| B=|1 -3| A*B=|3 -13|
|5 -1| |0 2| |5 -17|
Ed è giusta, ma se eseguo quest'altra:

A=|2 -1| B=|1 2|
|3 2| |-6 1|

Il risultato è questo:
A*B=|8 3|
|-3 8|
Che è sbagliato perchè anzichè -3 dovrebbe uscire -9.


Ultima modifica effettuata da tullio1995 19/10/12 18:55
aaa
18/10/12 20:14
nessuno
Nella linea del calcolo della y hai scritto

y=(pm[2]*sm[0])+(sm[3]*sm[2]);

ma deve essere

y=(pm[2]*sm[0])+(pm[3]*sm[2]);

P.S. Perché non usi vere matrici ma semplici vettori ... ?
Ultima modifica effettuata da nessuno 18/10/12 20:29
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
19/10/12 10:25
carlduke
Postato originariamente da nessuno:

Nella linea del calcolo della y hai scritto

y=(pm[2]*sm[0])+(sm[3]*sm[2]);

ma deve essere

y=(pm[2]*sm[0])+(pm[3]*sm[2]);

P.S. Perché non usi vere matrici ma semplici vettori ... ?


e' la stessa cosa che mi chiedo per le opengl.. :pat:
aaa
19/10/12 14:16
tullio1995
Nessuno, sono ancora alle prime armi con il C, me lo sto studiando da solo, perchè a scuola ci fanno studiare solo il VB. Si possono dichiarare matrici in C, o intendi un vettore bidimensionale??
PS: Grazie, mi ci sono scervellato per una giornata intera e alla fine era solo un errore di battitura... :blush:
Ultima modifica effettuata da tullio1995 19/10/12 14:19
aaa
19/10/12 14:56
nessuno
Un vettore bidimensionale è una matrice ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.