Frage von MaHiVo, 29

Addierung Array Werte C#?

Hallo, ich habe ein Problem und zwar habe ich die Aufgabenstellung alle negativen Werte aus einem Array zu addieren und alle positiven Werte. Das ganze soll in C# realisiert werden. Ich habe keine Ahnung wie das gehen soll. Danke schonmal und Grüße

Antwort
von alessl, 14

Hi, kenn mich zwar nicht mit c# aus aber hier die logik: - 2 variablen für die Summen deklarieren -schleife erstellen die nen Index hochhält - if abfrage die aus dem Array das item mit dem aktuellen Index prüft - wenn>0 dann addiere dies auf die positive summenvariable Wenn < 0 dann addiere dies auf die negative summenvariable Gruß Alessl

Antwort
von silentwater79, 5

Hallo,

da Du auch selbst etwas Arbeit investieren musst und Dir hier niemand einfach so die Lösung für Deine Hausaufgaben geben wird, hier der generelle Lösungsansatz.

Du läufst einfach in einer Schleife durch das Array bis zum Ende des Arrays durch und zählst dabei entsprechend bei jedem Schleifendurchlauf den index des Arrays hoch.

Innerhalb der Schleife brauchst Du eine "if" Bedinung in der Du prüfst ob die Zahl an der index Stelle im Array negativ oder positiv ist. Je nach Fall addierst Du die Zahl dann entweder zu der einen Variablen oder zu der anderen Variablen hinzu in dennen Du Dir die negativen bzw. positiven addierten Werte merkst.

Für etwas fortgeschrittenere kann mann das auch mit einer entsprechenden LINQ Anweisung anstatt mit einer for Schleife machen. Bringt allerdings keinen wirklichen Vorteil.

Antwort
von Rynak, 10

Ich kenne C# nicht, aber in C würde ich eine Schleife schreiben, die das Array durchgeht und testet, ob der Wert pos./neg. ist und entsprechend zusammenrechnet.

Kommentar von Rynak ,
sowas wie:

for(int i=0;i<n;i++){
if array[i]>0
plus_addierer+=array[i];
else
minus_addierer+=array[i];
}
Kommentar von sssssss ,

array.Length statt n, weil wenn du deine Arraygröße veränderst und das in der For Schleife vergisst stimmt wieder alles nicht :)

for(int i=0;i< array.Length;i++){
if array[i]>0
plus_addierer+=array[i];
else
minus_addierer+=array[i];
}



Kommentar von Rynak ,

Haben Arrays in C# eine .Lenth funktion? In C/C++ haben die das nicht... Da müsste man schon eine Array-Klasse aus einer Bibliothek verwenden.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten