Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Listen mit Listen addieren

Listen mit Listen addieren

Universität / Fachhochschule

Tags: liste

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
Raider

Raider aktiv_icon

19:44 Uhr, 23.05.2020

Antworten
Hallo,

ich habe mehrere Listen wie {1,2,3},{4,5,6} und {7,8,9}.

Ich möchte alle Elemente miteinander addieren. Das Ergebnis sollte also sein: {12,15,18}

Wie mache ich das am besten?
Online-Nachhilfe in Mathematik
Antwort
abakus

abakus

20:31 Uhr, 23.05.2020

Antworten
"Ich möchte alle Elemente miteinander addieren."
Das möchtest du sicher nicht, denn dann wäre das Ergebnis einfach nur 45.

"Wie mache ich das am besten?"
Du schreibst eine geschweifte Klammer. Dann rechnest du 1+4+7 aus und schreibst das Ergebnis hin. Danach schreibst du ein Trennzeichen. Wenn sicher ist, dass alle Listenelemente ganze Zahlen sind, darf das Trennzeichen ein Komma sein.
Dann rechnest du 2+5+8 aus und schreibst dieses Ergebnis hin. Nach einem erneuten Trennzeichen und dem Ergebnis von 3+6+9 schreibst du noch eine schließende geschweifte Klammer.

Wenn das nicht die Antwort war, die du wolltest, solltest du über die Aussagekraft deiner Fragestellung nachdenken.


Raider

Raider aktiv_icon

20:44 Uhr, 23.05.2020

Antworten
Hmm, und was wenn die Listen so wären: {a,b,c}, {d,e,f}, {g,h,i}

Was ich möchte ist einfach nur das Ergebnis (welche ebenfalls eine Liste sein soll). Das Ergebnis darf gerne in einer Variabel gespeichert sein, in einer Funktion oder was auch immer am meisten Sinn macht.
Antwort
ermanus

ermanus aktiv_icon

20:47 Uhr, 23.05.2020

Antworten
Ich habe da so eine Ahnung, dass das Ganze für eine ZUSE-3
programmiert werden soll ...
Antwort
anonymous

anonymous

20:48 Uhr, 23.05.2020

Antworten
ÄääHmmmmmmmm, in Anlehnung an Abakus:

{a+d+g;b+e+h;c+f+i}

Antwort
ermanus

ermanus aktiv_icon

21:15 Uhr, 23.05.2020

Antworten
Hallo,
warum erklärst du nicht den Kontext deiner Frage:
Geht es um Programmschnipsel? Welche Sprache?
Sieht ja ein bisschen nach Python aus, auch wenn die Klammern nicht passen ...
Woher sollen wir das denn alles erahnen???
Du hast Mengen angegeben, wieso sind das Listen?
Deine Kommunikation ist stark verbesserungswürdig ;-)

Und wenn das Ganze nichts mit einem Programm zu tun hat, dann würde
ich keine Mengenschreibweise für eine Liste, sondern
Tupel-Schreibweise verwenden (a,b,c).
Dann kannst du deine "Listenaddition" wie eine "Vektoraddition"
darstellen: (a,b,c)+(d,e,f):=(a+d,b+e,c+f)
Raider

Raider aktiv_icon

21:41 Uhr, 23.05.2020

Antworten
ermanus, du hast recht. Es geht dabei schon um die Programmierung aber meine Frage bezieht sich nicht auf eine Programmiersprache, denn ich habe sie schon programmiert. Ich muss in meiner Arbeit aber mathematisch erklären was genau ich gemacht habe.

Das Programm verwendet also verschiedene Listen (Arrays). Die einzelnen Werte, welche in den Arrays gespeichert sind, sind nicht statisch, sondern dynamisch. Somit kann ich die Werte nicht manuell zusammenaddieren. Die Werte können entweder Zahlen (int) sein oder NULL. Sollte der Wert NULL sein, wird die Summe mit 0 addiert.

Wie könnte ich denn so etwas mathematisch erklären? :-)
Antwort
ermanus

ermanus aktiv_icon

22:06 Uhr, 23.05.2020

Antworten
In diesem Falle wäre die n-Tupelschreibweise für die Listen angebracht,
da ja anders als bei Mengen auch Einträge mehrfach vorkommen können und
auch die Position der jeweiligen Einträge wesentlich ist.
Wenn nun z.B. die Werte natürliche Zahlen oder NULL sind, könntest
du ja eine neue Menge W:={NULL} erfinden
und eine Addition in W so definieren:
a,b, dann ab=a+b,
aNULL=a, NULLb=b, NULLNULL=0.
Deine Listen könntest du beliebig gleichlang machen, indem du sie hinten
mit NULLen bis auf eine gemeinsame max-Länge m auffüllst,
dann bedindest du dich in Wm und hier erklärst du die Addition
komponentenweise durch . Vielleicht bekommst du das so formal
einigermaßen auf die Reihe.

Gruß ermanus

Frage beantwortet
Raider

Raider aktiv_icon

22:14 Uhr, 23.05.2020

Antworten
Ok, das hilft mir schon mal weiter. Vielen Dank!