Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 12-10-2006, 15.36.05   #1
aduri
Newbie
 
Registrato: 23-08-2006
Messaggi: 22
aduri promette bene
Moltiplicazione di matrici

Salve a tutti,
mi sto perdendo all'interno dei cicli nidificati per risolvere la moltiplicazione di queste 2 matrici.


Non riesco a inserire l'immagine!!!

comunque la prima matrice va da 1 a 15

la seconda da 1 a 20

il risultato
175 190 205 220
400 440 480 520
625 690 755 820



Codice:
/*
Moltiplicazione tra 2 matrici 3x5 e 5x4
*/

class Matrici
{
public static void main(String[] args)
{
int a[][]=new int[3][5];
int b[][]=new int[5][4];
int c[][]=new int[3][4];

int i, j, x, y, z;
x=1;
for(i=0; i<3; i=i+1)
{
for(j=0; j<5; j=j+1)
{
a[i][j]=x;
x=x+1;
}
}

y=1;
for(i=0; i<5; i=i+1)
{
for(j=0; j<4; j=j+1)
{
b[i][j]=y;
y=y+1;
}
}

for(z=0; z<3; z=z+1)
{
for(i=0; i<3; i=i+1)
{
for(j=0; j<4; j=j+1)
{
c[i][j]+=a[z][j]*b[j][i];

}
}
}
for(i=0; i<3; i=i+1)
{
for(j=0; j<5; j=j+1)
{
System.out.print(a[i][j]+" ");
}
System.out.println("");
}
System.out.println("");
for(i=0; i<5; i=i+1)
{
for(j=0; j<4; j=j+1)
{
System.out.print(b[i][j]+" ");
}
System.out.println("");
}
System.out.println("");
for(i=0; i<3; i=i+1)
{
for(j=0; j<4; j=j+1)
{
System.out.print(c[i][j]+" ");
}
System.out.println("");
}
}
}
aduri non è collegato   Rispondi citando
Vecchio 12-10-2006, 17.28.53   #2
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Prima una nota "di servizio": per postare del codice ti conviene usare un tag per non conservare la formattazione, per esempio così (il "code" non mi funziona )

[php]for (i = 0; i < 10; i ++)
System.out.println("Hola!");[/php]

altrimenti senza copiarlo/incollarlo in un IDE con il code reformatting è impresa ardua leggerlo


Poi la risposta: il problema ovviamente sta nel calcolo della matrice C.

[php]// calcolo matrice C
for(z=0; z<3; z++)
for(i=0; i<3; i++)
for(j=0; j<4; j++)
c[i][j] += a[z][j]*b[j][i];[/php]

La posizione degli indici nell'espressione di calcolo è corretta, ma vanno messi a posto gli intervalli in cui gli indici si spostano: se z cicla sulle righe della matrice A, che sono appunto 3, i cicla sulle colonne della matrice B, che sono 4 (e non 3), mentre j cicla sulla colonna della matrice A (o sulla riga della matrice B, come si vuole), e quindi deve andare da 0 a 4, cioè deve essere limitato a 5.

Il tutto risulta quindi così:

[php]// calcolo matrice C
for(z=0; z<3; z++)
for(i=0; i<4; i++)
for(j=0; j<5; j++)
c[i][j] += a[z][j]*b[j][i];[/php]


Ciao
Dav82 non è collegato   Rispondi citando
Vecchio 13-10-2006, 12.56.41   #3
aduri
Newbie
 
Registrato: 23-08-2006
Messaggi: 22
aduri promette bene
Grazie
aduri non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Algebrus 2.2 Dav82 Archivio News Software 0 02-11-2005 11.26.47
[VB.Net] Matrici di matrici wicasa Programmazione 0 25-08-2004 20.24.13
I soliti siciliani: a noi tagliano le tasse, loro si aumentano gli stipendi Dav82 Chiacchiere in libertà 9 01-08-2004 02.23.48
Calcolo tra matrici GiulioCesare Programmazione 1 01-10-2003 23.47.04

Orario GMT +2. Ora sono le: 15.01.45.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.