Minimumsnorm bestimmen

TheBeginner

Mitglied
Hallo Zusammen,

das ist mein erster Thread hier, um bin im Wahrsten Sinne des Wortes: TheBeginner.

Ich hoffe ihr könnt meine Aufgabenstellung einsehen:

Wie ihr seht muss ich die Mininumsnorm bestimmen. Mir ist nicht klar, wie ich das aufschreiben soll, das ich vom Array die betragsmäßigst kleine Zahl her kriege.


mein Ansatz:

for( int entry: array) { // Dadurch werden ja alle Werte im Array durchgeschaut

if( entry


Da hört es schon leider auf....

Danke im Voraus
 

Anhänge

  • 1.png
    1.png
    38,2 KB · Aufrufe: 67
Zuletzt bearbeitet von einem Moderator:

faetzminator

Gesperrter Benutzer
Einfach wenn der aktuelle Eintrag kleiner als das bisherige Minimum ist, wird das bisherige Minimum überschrieben. Initial setzt du diesen Wert auf [c]Integer.MAX_VALUE[/c].
 

Milo

Bekanntes Mitglied
Hi,

in etwa so:

Java:
int min = Integer.MAX_VALUE;
for(int entry: array)
   min = Math.min(min, Math.abs(entry));

Gruß Micha
 

TheBeginner

Mitglied
Hi ,

ich glaub wir müssen von Anfang an anfangen:

Folgende Fragen sind im Vorhinaus zu klären:

Ich verstehe nicht ganz was unter Integer.Max_VALUE zu verstehen ist.

Das soll ja eine Konstante sein. Enspricht diese dem größten Wert der sich im Array befindet ???

Und das Math.min oder Math.abs sagt mir leider gar nichts. Klar habe ich mal was von Bibliothek gehört wo so ein sinus etc definiert wurde, aber wie man damit arbeitet, weiß ich leider nicht.


Danke schonmal für die schnellen Antworten...

Bitte bei möglichst ausführlich erklären, da ich ja der Beginner bin ;)
 

faetzminator

Gesperrter Benutzer
Was denkst du, was [c]Integer.Max_VALUE[/c] heisst? Nicht durch Zufall "grösster Wert" ;) ? Steht auch in der Aufgabenstellung.
[c]min[/c] -> minimum
[c]abs[/c] -> absoluter Wert einer Zahl
Ansonsten: [japi]Integer[/japi] und [japi]Math[/japi]
 

TheBeginner

Mitglied
Hier ist eine Lösung mit der ich gar nichts anfangen kann.
Bitte sagt mir,ob ich die Lösung überhaupt verstehe..

Hier ist eine Lösung mit der ich gar nichts anfangen kann.
Bitte sagt mir,ob ich die Lösung überhaupt verstehe..


Java:
Hier ist eine Lösung mit der ich gar nichts anfangen kann.
Bitte sagt mir,ob ich die Lösung überhaupt verstehe..


public static int minNorm( int[ ] array ) {

int temp= Integer.MAX_VALUE ;            
                                                      

for ( int entry : array ) {                  
if( Math.abs(entry) < temp) {          

temp= Math.abs(entry) ; 
    }
  }
return temp;
}











public static int minNorm( int[ ] array ) {

int temp= Integer.MAX_VALUE ; // Der Variable temp, wird der größte Wert des Array
zugeschrieben. Damit das Sinn macht, muss diese Konstante
den betragsmäßig größten Wert übergeben.
Wäre z.B der Array (-1,-100,19) müsste temp nun lauten 100

for ( int entry : array ) { // Die Variable entry geht den gesamten Array durch.
if( Math.abs(entry) < temp) { // Was heißt Math.abs ?Die Liste die mir im Link geg. wurde stand nichts dazu.Verstehe nicht was die if-Schleife bringt.
temp= Math.abs(entry) ;
}
}
return temp;
}
 

TheBeginner

Mitglied
Es sind ja alle absoluten Werte kleiner als int.MAX_VALUE

Wo wird denn hier im Code gesagt, das er den kleinsten nehmen soll.
Meiner Meinung nach nirgends...
 

faetzminator

Gesperrter Benutzer
Absolutwert von 7 ist 7. Von -5 ist es 5. Merkst du was :) ?
Edit: Nein, [c]Integer.MAX_VALUE[/c] ist nicht 100 sondern der grösstmögliche int, also [c]2^31-1[/c].
 

jgh

Top Contributor
Java:
		int temp = Integer.MAX_VALUE;

		for (int entry : array) {// Hier läuft er über das array
			if (Math.abs(entry) < temp) {//wenn der absolute Wert von entry kleiner als temp ist, dann soll temp =entry sein, als absoluter Wert
				temp = Math.abs(entry);
			}
		}
		return temp;
 

TheBeginner

Mitglied
Es können ja mehrere Werte kleiner als temp sein.

Da ja temp = Integer.MAX_VALUE;
ist
.


Woraus wird entnommen genau dieser Eine genommen werden soll.


Danke für die antworten..
 

Ark

Top Contributor
Ich verstehe nicht ganz was unter Integer.Max_VALUE zu verstehen ist.
Code:
Integer.MAX_VALUE
(so!) ist eine Kurzschreibweise für
Code:
java.lang.Integer.MAX_VALUE
, das ist ein Feld (=Eigenschaft) namens MAX_VALUE der Klasse Integer im Paket java.lang und ist laut API-Dokumentation "A constant holding the maximum value an int can have".
  1. Java Platform SE 7
  2. Oben links das Paket "java.lang" auswählen.
  3. Dann unten links die Klasse "Integer" auswählen.
  4. Dann im großen Bereich rechts unter "Field Summary" nach MAX_VALUE suchen.
  5. Beschreibung ablesen.
Gleiches Vorgehen für
Code:
java.lang.Math.sin()
und
Code:
java.lang.Math.min()
. Anfangs ist es etwas schwierig, da durchzusteigen, aber mit der Zeit merkt man sich, wo man was findet.

Bitte bei möglichst ausführlich erklären, da ich ja der Beginner bin ;)
Das hier ist ein Forum für konkrete Fragen (gern auch von Java-Anfängern), aber alle Grundlagen werden wir dir hier nicht einfach so beibringen. Dafür gibt es nämlich Unmengen an Lehrmaterial im Netz und auch offline. Wenn du willst, dass dir jemand alles erklärt, wirst du hier auch fündig - braucht aber wahrscheinlich etwas Geld. ;)

Es können ja mehrere Werte kleiner als temp sein. Da ja temp = Integer.MAX_VALUE; ist.

Woraus wird entnommen genau dieser Eine genommen werden soll.
(Formatierungsänderungen im Zitat von mir.) Diese Fragen sind eher mathematischer Natur und haben eigentlich nichts mit Java zu tun. temp in diesem Fall zu Beginn auf
Code:
Integer.MAX_VALUE
zu setzen, liegt einfach daran, dass
Code:
Integer.MAX_VALUE
das neutrale Element der Minimumsfunktion ist:

Code:
Math.min(a, Integer.MAX_VALUE) == a
bzw.
Code:
Math.min(Integer.MAX_VALUE, a) == a
für alle [c]int a[/c].

Wenn man mit diesem Wert anfängt, kann man also nichts falsch machen (bei der hier vorliegenden Problemstellung).

Ark

EDIT:
Die Mininumsnorm besteht ja nur aus genau einer betragsmäßig kleinsten Zahl...
Was die Anzahl der Vorkommen des Minimums in einer Folge von Zahlen betrifft, gibt es im vorliegenden Fall wohl nur eine Regel: Das Minimum muss in der Folge/Menge vorkommen. Es kann aber auch mehrfach enthalten sein. Und dennoch ist das Minimum eindeutig. ;)

Ark
 
Zuletzt bearbeitet:

jgh

Top Contributor
code sagt mehr als 1000 Worte:
Java:
int[] array = { 4, 2, 121, 423, 5134, 213, 23123, 1, 52, -23123, 21312,
				-53, -1235567, 231545 };

		int temp = Integer.MAX_VALUE;
		int i = 1;
		for (int entry : array) {// Hier läuft er über das array
			System.out.println("Durchlauf: " + i);
			i++;

			if (Math.abs(entry) < temp) {// wenn der absolute Wert von entry
											// kleiner als temp ist, dann soll
											// temp =entry sein, als absoluter
											// Wert
				System.out.println("\t" + entry + " (entry) ist  kleiner als "
						+ temp + " (temp)");
				System.out
						.println("\t\ttemp bekommt entry zugewiesen...daher ist temp jetzt der kleinste Wert ("
								+ entry + ")");
				temp = Math.abs(entry);
			}
[xml]Durchlauf: 1
4 (entry) ist kleiner als 2147483647 (temp)
temp bekommt entry zugewiesen...daher ist temp jetzt der kleinste Wert (4)
Durchlauf: 2
2 (entry) ist kleiner als 4 (temp)
temp bekommt entry zugewiesen...daher ist temp jetzt der kleinste Wert (2)
Durchlauf: 3
Durchlauf: 4
Durchlauf: 5
Durchlauf: 6
Durchlauf: 7
Durchlauf: 8
1 (entry) ist kleiner als 2 (temp)
temp bekommt entry zugewiesen...daher ist temp jetzt der kleinste Wert (1)
Durchlauf: 9
Durchlauf: 10
Durchlauf: 11
Durchlauf: 12
Durchlauf: 13
Durchlauf: 14[/xml]
 
P

pappawinni

Gast
Wozu überhaupt Integer.MAX_VALUE möchte man fragen.
Im Grunde könnte man hier temp auch mit dem Absolutwert des ersten Array-Elements initialisieren.
Integer.MAX_VALUE darf zwar verwendet werden, muss aber wohl nicht.
 

faetzminator

Gesperrter Benutzer
pappawinni, na dann müsstest du aber noch [c]if (array.length > 0)[/c] abfragen. Ansonsten kriegst du einfach [c]Integer.MAX_VALUE[/c] als Resultat, wenn das Array leer ist :)
 
H

hüteüberhüte

Gast
Die Mininumsnorm besteht ja nur aus genau einer betragsmäßig kleinsten Zahl...

Hier muss ich mal ganz blöd nachfragen. Steht in der Aufgabenstellung nicht etwas von einer Funktion, die alle Werte auf den betragsmäßig niedrigsten Wert abbildet?

Demzufolge müsste doch ein Array zurückgegeben werden? :eek:

Außerdem: Ist
Java:
int min = Integer.MAX_VALUE;
for(int entry: array)
   min = Math.min(min, Math.abs(entry));
nicht langsamer als
Java:
int min = array[0];
for (int i : array) {
  int a = Math.abs(i);
  if (a < min)
    min = a;
}
Oder irre ich mich jetzt?

Kurze Erklärung: min und i sind Variablen des Typs int. Variablen binden einen Wert an einen Namen. for-each ist eine Schleife, die sukzessive alle Werte/Elemente eines Arrays (oder einer anderen iterierbaren Datenstruktur) der Variablen i zuweist. if ist eine bedingte Anweisung (auch eine Kontrollstrukur), die in ihr enthaltenen Code nur dann ausführt, wenn vorher ihre Bedingung zutraf
 
Zuletzt bearbeitet von einem Moderator:
P

pappawinni

Gast
pappawinni, na dann müsstest du aber noch [c]if (array.length > 0)[/c] abfragen. Ansonsten kriegst du einfach [c]Integer.MAX_VALUE[/c] als Resultat, wenn das Array leer ist :)

Die Frage wäre, ob es denn richtig ist, bei einem leeren Array überhaupt einen Wert zurück zu liefern, also so zu tun, als gäbe es ein Ergebnis, obwohl es eigentlich keines geben kann.
Ich stell mir vor, ich gehe an den Zigarettenautomaten und werfe kein Geld ein und kriege dann, weil die Eingabe von 0 Euro nicht definiert ist, ich aber trotzdem eine Ausgabetaste gedrückt habe, den ganzen Inhalt des Automaten, oder wie?
 
P

pappawinni

Gast
Hier muss ich mal ganz blöd nachfragen. Steht in der Aufgabenstellung nicht etwas von einer Funktion, die alle Werte auf den betragsmäßig niedrigsten Wert abbildet?

Demzufolge müsste doch ein Array zurückgegeben werden?

Also wenn ich die Aufgabenstellung richtig verstanden habe, dann sollte die Minimumnorm ein einzelner Wert sein, nämlich der betragsmäßig kleinste Wert eines Vektors.
Bei Wikipedia hab ich leider nur Maximumsnorm gefunden. Im diesbezüglichen Beispiel wird dort dann auch ein einzelner Wert als Maximumsnorm (bzw. Maximumnorm) angebenen.
 
H

hüteüberhüte

Gast
Ich stell mir vor, ich gehe an den Zigarettenautomaten und werfe kein Geld ein und kriege dann, weil die Eingabe von 0 Euro nicht definiert ist, ich aber trotzdem eine Ausgabetaste gedrückt habe, den ganzen Inhalt des Automaten, oder wie?

Es gibt bei uns einen Getränkeautomaten, in den man manchmal 1€ rein wirft und 2+Getränk wieder herausbekommt ;)

Also wenn ich die Aufgabenstellung richtig verstanden habe, dann sollte die Minimumnorm ein einzelner Wert sein,

Kann auch sein.Finde solche Definitionen immer schrecklich, weil die manchmal so la la sind :oops: :oops: :eek:

Aber wurscht, TheBeginner hat ja jetzt die Lösung bereits...Vielleicht könnte man noch ein paar Benchmarks machen :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
rosima26 Java SubSum bestimmen Java Basics - Anfänger-Themen 76
M Ersten Index von Array bestimmen Java Basics - Anfänger-Themen 14
C Kollision zweier Rechtecke, Schnittpunkte bestimmen Java Basics - Anfänger-Themen 25
C Boolesche Formel, Belegungen bestimmen Java Basics - Anfänger-Themen 8
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
L Partitionierungsgruppen bestimmen Java Basics - Anfänger-Themen 22
H Klassen Die Länge einer Text-Node bestimmen Java Basics - Anfänger-Themen 2
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
N Bereich Zufallszahl bestimmen (50 und 100 / 80 und 90) Java Basics - Anfänger-Themen 2
J Y-Koordinate von GUI-Objekt bestimmen Java Basics - Anfänger-Themen 2
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
H Ersten Zug bestimmen Java Basics - Anfänger-Themen 12
O Suchbaum Elternknoten finden Level eines Knoten bestimmen Java Basics - Anfänger-Themen 24
C Kleinsten Kreis einer Punktmenge bestimmen Java Basics - Anfänger-Themen 4
CptK Methoden Koordinaten relativ zur Rotation eines Bildes bestimmen Java Basics - Anfänger-Themen 8
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
E Maximalwert im Array bestimmen Java Basics - Anfänger-Themen 8
L Datentypen Date API - diese Woche bestimmen Java Basics - Anfänger-Themen 1
Y Rekursionsgleichung bestimmen Java Basics - Anfänger-Themen 3
Y Teile und Herrsche, längstes absteigendes Teilarray bestimmen Java Basics - Anfänger-Themen 12
T Min und Max einer Zahlenfolge bestimmen Java Basics - Anfänger-Themen 7
V Klassen Bestimmen Sie die erste und letzte Position an der ein 'c' steht? Java Basics - Anfänger-Themen 3
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
P Rückgabewert bestimmen Java Basics - Anfänger-Themen 17
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
T Anzahl bestimmter Werte eines arrays bestimmen Java Basics - Anfänger-Themen 4
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
H Quotient durch Subtraktion bestimmen Java Basics - Anfänger-Themen 12
1 Größe einer zirkulären Liste bestimmen .. ? Java Basics - Anfänger-Themen 2
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
C Werteraum für Variable bestimmen Java Basics - Anfänger-Themen 5
S Vererbung exaktes "Objekt" der Unterklasse bestimmen Java Basics - Anfänger-Themen 5
Screen Wie geringste Absolutdifferenz zum Median bestimmen? Java Basics - Anfänger-Themen 8
V Aufrufendes Objekt bestimmen (nicht die Klasse) Java Basics - Anfänger-Themen 3
J Note bestimmen Java Basics - Anfänger-Themen 13
P BitSet- Objekt- Anzahl der Elemente bestimmen Java Basics - Anfänger-Themen 2
T String - kleinstes Zeichen bestimmen Java Basics - Anfänger-Themen 3
M bestimmen zu welchem Array ein Objekt "zugehört" Java Basics - Anfänger-Themen 5
L Koordinaten bestimmen Java Basics - Anfänger-Themen 8
S Zeit bestimmen Java Basics - Anfänger-Themen 4
H Anzahl Ziffer in Zahl bestimmen Java Basics - Anfänger-Themen 3
S Kleinster Wert im Array bestimmen Java Basics - Anfänger-Themen 4
J Klickposition genau bestimmen Java Basics - Anfänger-Themen 12
J Bestimmen ob String aus Kleinbuchstaben besteht Java Basics - Anfänger-Themen 16
N aktuelle Datum Mikrosekunden genau bestimmen Java Basics - Anfänger-Themen 8
G zweitgrößter Wert in array bestimmen Java Basics - Anfänger-Themen 4
L Farbe unter Cursor bestimmen Java Basics - Anfänger-Themen 5
T Variable aus dem Web Netz Internet URL bestimmen Java Basics - Anfänger-Themen 13
B Anzahl der Werte bestimmen Java Basics - Anfänger-Themen 14
F komplexität bestimmen Java Basics - Anfänger-Themen 10
X Anzahl Baumknoten bestimmen Java Basics - Anfänger-Themen 5
J Mouseposition bestimmen Java Basics - Anfänger-Themen 5
F Meßwertfolge bestimmen Java Basics - Anfänger-Themen 10
J Arraylänge mittels "Array.getLength" bestimmen!? Java Basics - Anfänger-Themen 3
B JMenu Position bestimmen Java Basics - Anfänger-Themen 7
H Javacode erklären: Mittelpunkt bestimmen Java Basics - Anfänger-Themen 4
M Interval Teilmenge bestimmen - Fehler in meiner Lösung Java Basics - Anfänger-Themen 6
N zweidimensionales array größe bestimmen Java Basics - Anfänger-Themen 1
A Anzahl Zeilen eines Arrays bestimmen Java Basics - Anfänger-Themen 10
Q Zeichnen - wie von außen bestimmen, was gezeichnet werden soll? Java Basics - Anfänger-Themen 26
J Classpath bestimmen, unter Windows 7 Java Basics - Anfänger-Themen 2
S Variable über den Vektor bestimmen Java Basics - Anfänger-Themen 20
A OOP Programm zum bestimmen von Primzahlen, OutofBoundsException Java Basics - Anfänger-Themen 10
B Anzahl von gerundeten Punkten bestimmen Java Basics - Anfänger-Themen 9
C Polygon um Figur bestimmen Java Basics - Anfänger-Themen 10
L Zeilenanzahl bestimmen? Java Basics - Anfänger-Themen 7
M Sha256-Wert eines Files bestimmen Java Basics - Anfänger-Themen 13
T aus Integer Array Maximum bestimmen Java Basics - Anfänger-Themen 7
M Nachbar von Knoten bestimmen Java Basics - Anfänger-Themen 8
J 2Dimensionales Array, Größe durch Eingabe bestimmen Java Basics - Anfänger-Themen 9
C Position eines Fensters bestimmen Java Basics - Anfänger-Themen 3
Y Vor- und Nachkommawerte eines doubles bestimmen Java Basics - Anfänger-Themen 7
W Variablenzuweisung über Wert bestimmen Java Basics - Anfänger-Themen 2
G die Größe eines Button bestimmen ? Java Basics - Anfänger-Themen 4
6 Wie das angeklickte Objekt bestimmen? Java Basics - Anfänger-Themen 4
philipp Instanznamen mit einem String bestimmen. Java Basics - Anfänger-Themen 11
P Abstand vom Rahmen zu Komponenten bestimmen? Java Basics - Anfänger-Themen 3
kulturfenster User soll Radius von Kugel bestimmen Java Basics - Anfänger-Themen 4
W Letzten beiden Ziffern eines BigIntegers bestimmen? Java Basics - Anfänger-Themen 20
G Dateigröße bestimmen Java Basics - Anfänger-Themen 2
B Länge eines Char-Arrays bestimmen Java Basics - Anfänger-Themen 7
S Anzahl von zeilen einer Datei bestimmen. Java Basics - Anfänger-Themen 4
B Position einer Ziffer im String bestimmen Java Basics - Anfänger-Themen 4
X Klasse eines Objektes bestimmen Java Basics - Anfänger-Themen 2
G Objektname über Eingabe bestimmen Java Basics - Anfänger-Themen 4
0 Häufigste(n) Zahl(en) in zweidimensionalem Array bestimmen ? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben