# Array-Int addieren



## Thisor (12. Dez 2015)

Hey,
ich soll ein Programm schreiben, dass die Array werte summieren soll, allerdings nur die zahlen die "alleine stehen". Bedeutet, die erste und letzte Zahl kommen nicht im Ergebnis vor. Sondern nur wenn die Zahl weder rechts noch links zum "Nachbarn" identisch ist.
Es läuft bisher noch nicht wie es laufen soll.
Mein bisheriger Code:



```
int sum = 0;
        for (int i = 0; i < nums.length - 1; i++) {
            for (int j = 0; j < nums.length -1; j++) {
                if (nums[i] != nums[j]) {
                    sum = sum + nums[i];
                } else if (nums[i] == nums[j]) {
                    i++;
//                    j++;
                }
            }
        }
        return sum;
```


----------



## Khal Drogo (12. Dez 2015)

Deine Beschreibung ist meiner Meinung nach etwas unklar bzw. teilweise sogar widersprüchlich, allerdings scheint mit der erste Fehler darin zu liegen, dass du zwei for-Schleifen benutzt und diese inkl. der if-Abfragen nicht richtig verstanden zu haben scheinst, an dieser Stelle solltest du vielleicht noch mal die Basics wiederholen.

Wenn ich dich richtig verstehe, willst du alle Werte des Arrays an der Stelle _i_ aufsummieren, falls an den Stellen _i-1_ oder _i+1_ nicht die gleiche Zahl erneut auftaucht. In diesem Fall solltest du mit einer for-Schleife und zwei gesondert behandelten Fällen relativ einfach zum Ziel gelangen.
Insbesondere könntest du am Anfang deiner Methode überprüfen, wie lang das Array ist, bei einer Länge von 0 oder 1 könntest du z. B. das Ergebnis ohne Berechnung zurückgeben.

Mit freundlichen Grüßen
Xelsarion


----------



## Flown (12. Dez 2015)

Mal ein wenig Pseudocode:

```
prerequisite: int[] arr; //length: n, range: [0, n[
def sum(int[] arr) : int {
  int sum = 0;
  for(i ... 1 to n - 2) {
    int value = arr[i];
    if(arr[i - 1] != value && value != arr[i + 1]) {
      sum += value;
    }
  }
  return sum;
}
```


----------



## Thisor (12. Dez 2015)

Der Pseudocode hat geholfen, thx


----------

