# Elemente quadrieren



## Roy_killer (1. Mrz 2006)

Schreibe eine iterative Methode, die alle Elemente einer Reihung quadriert!



```
int quadrat =0;
for (int i= 0; i<array. length; i ++)
{
    quadrat i² = array [i];
}
```


Schreibe eine rekursive Methode, die alle Elemente einer Reihung quadriert!!



```
int quadrat =0;
for (int i; :array )
{
    quadrat i² =i;
}
```




irgendwas falsch dann bitte bitte hilfe mir weiter :roll: 


danke im Voraus ???:L

_[Edit by Beni: aussagekräftigeren Titel gewählt, Codetags hinzugefügt, den Thread verschoben, sich eine bissige Bemerkung verkniffen]_


----------



## Illuvatar (1. Mrz 2006)

3 Tips.

Erstens: ² ist in Variablennamen nicht zugelassen.
Zweitens: for (int i; :array ) ist Müll, vielleicht meinst du for (int i : array)? Dann ist das aber nur eine andere Schleife, und hat nichts mit Rekursiv zu tun. -> Forensuche
Drittens: Wenn du das einfachmal kompilieren würdest, dann hättest du das auch selber rausgefunden.


----------



## Leroy42 (1. Mrz 2006)

Roy_killer hat gesagt.:
			
		

> _[Edit by Beni: ... sich eine bissige Bemerkung verkniffen]_


  
Nicht zu viel in dich hineinfressen; isse ungesund


----------



## Roy_killer (1. Mrz 2006)

wie mache ich es nun mit quadieren???iterativ? und rekursiv??



bitte hilfe mir weiter! ???:L


----------



## Leroy42 (1. Mrz 2006)

Roy_killer hat gesagt.:
			
		

> Schreibe eine iterative Methode, die alle Elemente einer Reihung quadriert!
> Schreibe eine rekursive Methode, die alle Elemente einer Reihung quadriert!!



Die Aufgabenstellung ist nicht ganz klar  ???:L 
Du sollst die Elemente einer Reihung (eines Arrays) quadrieren. Schön, aber was
soll dann damit geschehen? 
- Einfach nur quadrieren und das Resultat nicht beachten?
- Die Ergebnisse auf der Konsole ausgeben?
- Die Ergebnisse irgendwo speichern? Wenn ja, direkt in den Originalarray?

Also ein einzelnes Element wird quadriert durch 

```
array[i]*array[i];
```

Aber bei dieser Anweisung wird das Ergebnis sofort verworfen   
falls ein schlauer Compiler nicht gleich die ganze Multiplikation wegoptimiert.

Beschreib mal genauer  ???:L


----------



## Roy_killer (1. Mrz 2006)

Einfach nur quadrieren und das Resultat nicht beachten genau das ist richtig!

kannst du bitte den ganz code schreiben das wäre lieb!


----------



## Leroy42 (1. Mrz 2006)

Von mir aus  :shock: 

Iterativ

```
void quadrat(int[] array) {
    for (int i=0; i < array.length; ++i)
        array[i]*array[i];
}
```
oder auch

```
void quadrat(int[] array) {
    for (int elem : array)
        elem*elem;
}
```
Rekursiv

```
void quadrat(int[] array) {
    quadrat(array, 0);
}

void quadrat(int[] array, int i) {
    if (i < array.length) {
        array[i]*array[i];
        quadrat(array, i+1);
    }
}
```

Allerdings bleibt mir vollkommen schleierhaft was das Ganze
für einen Sinn haben soll. Vor allem ein Array rekursiv zu
bearbeiten ist doch nur noch daneben  :autsch: Da gibt es 100 andere, *sinnvolle* Anwendungen für Rekursion.
War das eine Aufgabe?
Dann kann ich froh sein, einen solchen Lehrer nicht kennengelernt zu haben


----------



## Roy_killer (1. Mrz 2006)

ja muss du echt froh sein ich weiß auch nicht was das soll lieber Bürger!

danke sehr dass du mir hilfst!

würdest mir auch hierbei hilfe?


Gegeben: class Elem {int value; Elem next;}
Schreibe eine rekursive Methode, die alle Elemente einer Liste quadriert!


danke im voraus


----------



## AlArenal (1. Mrz 2006)

Wir machen hier aber keine Hausaufgaben....


----------



## Leroy42 (1. Mrz 2006)

Hier vermute ich mal, daß die Elemente nicht nur quadriert werden
sollen, sondern daß die Liste selbst auch geändert werden sollen.

```
class Elem {
    int value;
    Elem next;

    void quadriereAlle() {
        value *= value;
        if (next != null)
            next.quadriereAlle();
    }
}
```

Hier macht die Rekursion wenigstens Sinn


----------



## Leroy42 (1. Mrz 2006)

AlArenal hat gesagt.:
			
		

> Wir machen hier aber keine Hausaufgaben....


 :shock: Uuuppss! Habe ich mich belabern lassen!?


----------



## AlArenal (1. Mrz 2006)

Ja, du bist unartige gewesen!


----------



## tini (1. Mrz 2006)

Leroy42 hat gesagt.:
			
		

> :shock: Uuuppss! Habe ich mich belabern lassen!?


sieht ganz danach aus! aber tröste dich: das kann jedem mal passieren!


----------

