CloudCoder Python feladatgyujtemeny/matrix szorzas
A MathWikiből
(Változatok közti eltérés)
Csirke (vitalap | szerkesztései)
(Új oldal, tartalma: „A hiba az, hogy a kimeneti mátrix második dimenziója '''len(B)''' helyett '''len(B[0])''' kéne hogy legyen, tehát az hogy a ''B'' mátrix sorai milyen hosszúak. E…”)
(Új oldal, tartalma: „A hiba az, hogy a kimeneti mátrix második dimenziója '''len(B)''' helyett '''len(B[0])''' kéne hogy legyen, tehát az hogy a ''B'' mátrix sorai milyen hosszúak. E…”)
A lap jelenlegi, 2015. december 11., 09:26-kori változata
A hiba az, hogy a kimeneti mátrix második dimenziója len(B) helyett len(B[0]) kéne hogy legyen, tehát az hogy a B mátrix sorai milyen hosszúak. Ezt két helyen is át kell javítani, egyrészt az üres mátrix létrehozásánál, másrészt a for ciklusnál. Így a végleges, javított kód:
def matrix_szorzas(A, B): # Eloszor megalkotjuk a visszaadando matrixot csupa 0 elemmel ret = [[0 for j in range(len(B[0]))] for i in range(len(A))] # majd minden (i, j) elemen vegigmegyunk for i in range(len(A)): for j in range(len(B[0])): # Es hozzaadjuk a megfelelo szorzatokat for k in range(len(B)): ret[i][j] += A[i][k] * B[k][j] # Visszaterunk az igy vegleges matrixszal return ret