# Array Werte subtrahieren



## JimK (23. Mai 2010)

Hi Leute,

ich könnte grad verzweifeln. ich bekomme es einfach nicht hin Array Werte zu subtrahieren. Addieren war total einfach, aber ich denke, dass ich bei der Subtraktion einen riesigen Denkfehler habe.
Meine ansätze sehen so aus:
[JAVA=01]
public static void subtraktion(double [] x,double [] y)
	{
		double addx = 0, addy=0;

		for(int i=0;i<x.length;++i)
		{
		addx -= x_;   
		}

		for(int i=0;i<y.length;++i)
		{
			addy =addy - y;   
			}

		String text="X-Wert: "+addx+"\nY-Wert: "+addy+"\n";
		System.out.println(text);
		javax.swing.JOptionPane.showMessageDialog(null, text);

		}
[/code]

bei addy addiert er einfach nur und fügt das Minus an und bei addy beginnt das programm mit dem Anfangswert 0 zu rechnen. 
Wie kann ich dir Array Werte subtrahieren?

LG JimK_


----------



## kay73 (23. Mai 2010)

Sorry, aber ich kapier nicht, was du implementieren willst... Sollen die Arrays komponentenweise subtrahiert werden, sowas wie 
	
	
	
	





```
z[i] = y[i] - x[i]
```
?


----------



## JimK (23. Mai 2010)

nee, alle werte im feld x sollen nacheinander subtrahiert werden und alle werte im y-feld.


----------



## kay73 (23. Mai 2010)

Gib mal ein konkretes Beispiel...


----------



## JimK (23. Mai 2010)

ok... die aufgabe lautet vektoren zu subtrahieren.
daraufhin hab ich ein feld für die x werte und ein feld für die y-werte erstellt. dazu kommt noch eine abfrage, wieviel x- und y-werte in das jeweilige feld geschrieben werden.

nehmen wir an ich füllen jetzt das feld x mit 3 werten z.b. 1,2 und 3, dann müsste das ergebnis theoretisch -4 sein. ich weiß grad nicht wie ich es anders erklären soll.


----------



## kay73 (23. Mai 2010)

JimK hat gesagt.:


> nehmen wir an ich füllen jetzt das feld x mit 3 werten z.b. 1,2 und 3, dann müsste das ergebnis theoretisch -4 sein. ich weiß grad nicht wie ich es anders erklären soll.




```
final float [] array = {1.0f, 2.0f, 3.0f};
		
		float f = array[0];
		for(int i=1; i < array.length; i++) {
			f -= array[i];
		}
```
Was soll denn das für eine Vektorsubtraktion sein? Bau Dir lieber mal eine richtige Vektorenklasse und nicht so schaurige Array-Hilfskonstrukte. 

Was ist denn bei Deinen Arrays der Vektor? Hast Du _n_ zweidimensionale Vektoren; beginnend mit (x[0], y[0]) als erstem Vektor? Oder sind x und y jeweils ein _n_-dimensionaler Vektor?


----------



## JimK (23. Mai 2010)

ich wollte n-anzahl von x-y-vektoren addieren und subtrahieren können. dabei bildet sich der erste vektor aus dem ersten wert aus dem x-feld und dem ersten wert aus dem y-feld und so geht es dann immer weiter. zweiter vektor --> zweiter wert aus x-feld und zweiter wert aus y-feld. 
gibt es eine bessere möglichkeit dies zu realisieren?


----------



## kay73 (23. Mai 2010)

JimK hat gesagt.:


> dabei bildet sich der erste vektor aus dem ersten wert aus dem x-feld und dem ersten wert aus dem y-feld und so geht es dann immer weiter. zweiter vektor --> zweiter wert aus x-feld und zweiter wert aus y-feld.


Hab ich doch geschrieben.


JimK hat gesagt.:


> gibt es eine bessere möglichkeit dies zu realisieren?


Natürlich. Klassen für Vektoren schreiben. Damit Du durch das, was Du implementieren willst, auch durchsteigst. Das Arraygefummel macht allenfalls Sinn, wenn Du riesige  n-dimensionale Vektorfelder transformieren willst.


----------



## JimK (23. Mai 2010)

jetzt funktioniert es... ich danke dir


----------

