Vektor Aufgabe nicht verstanden?

3 Antworten

Wenn du beispielsweise a = [5, 2, 5] hast. Dann ist der größte Wert/Eintrag des Vektors 5. Es gibt zwei Positionen, an denen dieser Wert steht nämlich an 1-ter und an 3-ter Position (bzw. an 0-ter und an 2-ter Postion, je nachdem, wie man zählt). Dementsprechend sollte dann bei diesem Beispiel 1 (bzw. 0, je nachdem, wie man zählt) als Position ausgegeben werden, da dies die erste der beiden Positionen ist.

Zählung beginnend mit 0 halte ich hier für besser/sinnvoller, da man in vielen Programmiersprachen (und auch in C, glaube ich) mit Index 0 auf das erste Objekt zugreift, statt mit Index 1. Also dann beim Beispiel [5, 2, 5] dementsprechend 0, bei [0, 3, 2] beispielsweise 1, und bei [7, 8, 8] beispielsweise 1.

J0T4T4  06.01.2022, 16:57

Jap, in C fangen die Indizes bei 0 an.

0
fragenueberf858 
Fragesteller
 06.01.2022, 16:58

Perfekt danke hat mir echt geholfen

1

Du hast doch Vektoren im IR³, d.h. so ein Vektor hat drei Werte (drei Dimensionen) die normalerweise als eine Spalte in drei Ebenen geschrieben werden.

Mt den hier vorhandenen Mitteln ist das eben etwas schwierig darzustellen. Vektor v = (v1, v1, v3) aber eben untereinander gesachrieben.

Jetzt zu deiner Frage: Was ist "die erste Position des größten Werts des Vektors a"

Als der größte Wert des Vektors a würde ich das ai verstehen, das von den dreien a1, a2, a3 der größe ist. Dann ist aber völlig unklar, was "die erste Position" ist.

Die erste Position wäre logischerweise a1, aber was ist dann "der größte Wert der ersten Position" ?

Damit habe ich jetzt es nur geschafft dein Unverständnis zu bestätigen. Auch ich kann die beiden Begriffe nicht zusammenbringen.

Somit wäre mein Beitrag nicht hilfreich, aber du hast zumindest die Gewissheit, dass es in der Tat sehr eigenartig beschrieben ist und auch anderen nicht einleuchtet.

bergquelle72  06.01.2022, 17:02

o.k. mihisu hat es anscheinedn besser verstanden als wir beide. Dem würde ich folgen.

0

Es geht darum, dass die Funktion max() bei einem Vektor (1, 1, 1) das Ergebnis 0 zurückgeben soll. Wenn es mehrere Maxima gibt, soll die Position des ersten Maximums im Vektor zurückgegeben werden.

bergquelle72  06.01.2022, 17:00

Warum soll max() bei einem Vektor (1, 1, 1) das Ergebnis 0 zurückgeben? Das Max von 1, 1, 1 ist doch 1.

0
J0T4T4  06.01.2022, 17:02
@bergquelle72

Es wird nicht das Maximum, sondern die Position des Maximums im Vektor zurückgegeben. Falls das Maximum mehrfach im Vektor enthalten ist, soll die erste Position zurückgegeben werden.

Das Maximum des Vektors ist 1, die erste 1 findet sich an Position 0.

0
bergquelle72  06.01.2022, 17:04
@J0T4T4

Ist mir jetzt auch schon klar geworden. Du hättest nicht max(...) schreiben sollen, sondern "die Funktion". max(...) hat eine definierte Bedeutung.

0
J0T4T4  06.01.2022, 17:07
@bergquelle72

Das hängt schon sehr vom Kontext ab, welche Bedeutung eine Funktion mit dem Namen max() hat. Insbesondere in C würde es mich nicht wundern, wenn die Funktion für bestimmte Zwecke einen Pointer auf das Maximum und nicht das Maximum selbst zurückgeben würde. Die Position im Vektor ist quasi äquivalent zu einem Pointer, deshalb ist die Aufgabe ja auch so formuliert.

0