# In einem Array die größte Zahl ermitteln und Faktorisieren.



## Java-Wichtel (12. Jan 2013)

Hallo,

ich habe eine Aufgabe, in der ich eine Methode programmieren soll, die von einem Array den größten Wert von einem Index ermitteln soll.
Mein Problem ist, aber, ich weiß nicht, wie ich es am Besten mit den zwei for-Schleifen, der Variable für die Maximale Zahl und der if-Bedingung anstellen soll, weil bei mir es einfach nicht funktioniert.
Ich weiß jemand oder hat vielleicht jemand damit Erfahrung gehabt und kann mir den Script für diese
Methode veröffentlichen, damit ich den mit meinem Vergleichen kann.

Meiner Lautet:


```
for (int i = 0; i < zahlen.length; i++)
{
 for (int max = 0; max < zahlen.length; i++)
 {
   if (i > max)
     {
        max = i;
     }
  }
}
return zahlen[max];
```

Die Werte des Arrays zahlen haben alle *double *werte.

Dann hätte ich noch die Frage, wie ich die Werte des Arrays alle faktorisieren kann, dass sie alle gleich 1 ergeben. Ich bin fassungslos. Da fällt mir kein mathematischer Algorithmus ein.;(

Ich wär euch sehr dankbar für eure Hilfe.

Entschuldigt, falls solche ähnlichen Fragen schonmal irgendwo im Forum aufgetaucht sind, aber ich konnte nichts finden.


----------



## DrZoidberg (12. Jan 2013)

```
double max(double[] zahlen) {
        double max = 0;
        for(int i = 0; i < zahlen.length; i++) {
            if(zahlen[i] > max) max = zahlen[i];
        }
        return max;
    }
```

Was genau meinst du mit faktorisieren?


----------



## Java-Wichtel (12. Jan 2013)

Wow, danke dir. Ich hätte nie gedacht, dass es so einfach werden kann, wenn man einfach nicht kompliziert denkt.



DrZoidberg hat gesagt.:


> Was genau meinst du mit faktorisieren?



Damit ist gemeint, dass alle Index-Werte des Arrays mit einer Zahl multipliziert werden, damit jeder Index den Wert 1 erhält. Mir ist schon klar, dass es wahrscheinlich hierfür einen mathematischen Algorithmus gibt, aber ich weiß nicht, wie ich das anstellen soll. Ich hab es sogar versucht auf die ähnliche Art und Weise zu lösen, wie mit der Methode Größte Zahl ermitteln.


----------



## Java-Wichtel (12. Jan 2013)

Ich hatte mich vorhin unklar ausgedrückt, ich meinte folgendes:

"k. Erstellen Sie eine Methode normieren(), welche alle im Array gespeicherten Zahlen mit
einem Faktor multipliziert, der so gewählt wird, dass danach die Summe der Elemente
den Wert 1 ergibt."


----------



## DrZoidberg (12. Jan 2013)

Versuchs mal so

```
void normieren(double[] zahlen) {
    double summe = 0;
    for(int i = 0; i < zahlen.length; i++) {
        summe += zahlen[i];
    }
    for(int i = 0; i < zahlen.length; i++) {
        zahlen[i] /= summe;
    }
}
```


----------



## Java-Wichtel (12. Jan 2013)

Oh, ich hätte es wissen sollen, dass man die Werte durch die Summe aller Werte teilen muss.
Wofür habe ich nur Bruchrechnen gelernt?

Danke dir vielmals, DrZoidberg!


----------

