Matrizen Multiplikation

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Roman112
User
Beiträge: 1
Registriert: Donnerstag 18. Mai 2017, 19:06

Schwierigkeit bei den Algorithmus Verfassung von zwei Algorithmen erste ist Divide and conquer. der Code für ist :

Code: Alles auswählen

# Algorithmen und Datenstrukturen
# Hausaufgabe 1 - Matrixmultiplikation
# Abgabedatum: 21.5.2017
#
# Gruppennummer: <Bitte eintragen>
# Gruppenmitglieder: 
# - <Bitte eintragen>
# - <Bitte eintragen>
# - <Bitte eintragen>

# Diese Funktion können Sie verwenden, um Matrizen auszugeben.
def printMatrix(m):
    for line in m:
        print('|', end='')
        i = 0
        for value in line:
            if (i > 0):
                print(' ', end='')
            print(value, end='')
            i = i + 1
        print("|")

# Implementieren Sie ab hier Ihre Lösungen:
def matMultDef(a, b):
    print('Parameter a:')
    printMatrix(a)
    print('Parameter b:')
    printMatrix(b)
    # hier soll Ihre Implementierung der Matrixmultiplikation laut Definition stehen.
    result = a  # durch das Ergebnis Ihrer Implementierung ersetzen
    return result

def matMultDC(a, b):
    print('Parameter a:')
    printMatrix(a)
    print('Parameter b:')
    printMatrix(b)
    # hier soll Ihre Implementierung der Matrixmultiplikation nach dem Paradigma "Teile und Herrsche"
    result = a  # durch das Ergebnis Ihrer Implementierung ersetzen
    return result

# Hier ist ein Testfall:
result = matMultDef(
[ # a
[3, 2, 1],
[1, 0, 2]
],
[ # b
[1, 2],
[0, 1],
[4, 0]]
)

print('berechnet:')
printMatrix(result)

# Das Ergebnis sollte folgende Matrix sein:
# [
# [7, 8],
# [9, 2]
# ]
Zuletzt geändert von Anonymous am Freitag 19. Mai 2017, 10:56, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
sebastian0202
User
Beiträge: 168
Registriert: Montag 9. Mai 2016, 09:14
Wohnort: Berlin

Abgabe am Sonntag? Da erholt man sich und schläft aus.
Zizibee
User
Beiträge: 229
Registriert: Donnerstag 12. April 2007, 08:36

Wie lautet denn die Frage?
BlackJack

Also meine Frage wäre warum Python verwendet wird, wenn dann so etwas wie diese `printMatrix()`-Funktion vorgegeben wird. Die sieht ja gruselig aus. Wenn man Python nicht kann oder will, nimmt man halt eine andere Sprache. :twisted:

Code: Alles auswählen

def print_matrix(matrix):
    print(
        '\n'.join(
            '|{0}|'.format(' '.join(str(value) for value in row))
            for row in matrix
        )
    )
Antworten