C# :: Aufgabe #353
3 Lösungen
Summe einzeln vorkommender Zahlen
Anfänger - C#
von JKooP
- 09.02.2021 um 20:00 Uhr
Gegeben ist ein Array, welches beliebig viele Integer- Zahlen beinhaltet.
Erstelle eine Methode/Funktion, mit der man die Summe aller einzeln im Array vorkommenden Zahlen berechnen kann.
arr1 = { 1, 2, 3, 1, 2 } => Summe = 3
arr2 = { 1, 2, 3, 4, 5 } => Summe = 15
arr3 = { 1, 2, 3, 3, 2, 1 } => Summe = 0
Viel Spaß
Erstelle eine Methode/Funktion, mit der man die Summe aller einzeln im Array vorkommenden Zahlen berechnen kann.
arr1 = { 1, 2, 3, 1, 2 } => Summe = 3
arr2 = { 1, 2, 3, 4, 5 } => Summe = 15
arr3 = { 1, 2, 3, 3, 2, 1 } => Summe = 0
Viel Spaß
Lösungen:
using System;
using static System.Console;
WriteLine(aufgabe_353(new int[] { 1, 2, 3, 1, 2 }));
WriteLine(aufgabe_353(new int[] { 1, 2, 3, 4, 5 }));
WriteLine(aufgabe_353(new int[] { 1, 2, 3, 3, 2, 1 }));
ReadKey();
static int aufgabe_353 (int[] n) {
int sum = 0;
for (var i = 0; i < n.Length; i++) {
int counter = 0;
for (var j = 0; j < n.Length; j++)
if (n[i] == n[j])
counter++;
if (counter == 1)
sum += n[i];
}
return sum;
}
Hallo,
hier mein Lösungsvorschlag.
C#-Code
hier mein Lösungsvorschlag.
using System;
namespace Aufgabe_353_Summe_aus_Array
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Hallo Welt!");
Console.WriteLine("Dieses Programm ermiitelt die Summe aller einzeln im Array vorkommenden Zahlen\n\n");
int[] array1 = { 1, 2, 3, 2, 1 };
int[] array2 = { 1, 2, 3, 4, 5 };
int[] array3 = { 1, 2, 3, 3, 2, 1 };
ArrayAusgabe(array1);
Console.WriteLine("Summe der einzeln vorkommenden Zahlen: " + BerechneSumme(array1) + "\n");
ArrayAusgabe(array2);
Console.WriteLine("Summe der einzeln vorkommenden Zahlen: " + BerechneSumme(array2) + "\n");
ArrayAusgabe(array3);
Console.WriteLine("Summe der einzeln vorkommenden Zahlen: " + BerechneSumme(array3) + "\n");
}
private static int BerechneSumme(int[] array)
{
int anzahl = array.Length;
int summe = 0;
for (int i = 0; i < anzahl; i++)
{
int j = 0;
bool ungleich = true;
while (j < anzahl & ungleich)
{
if (j == i)
{
j++;
continue;
}
if (array[i] == array[j])
{
ungleich = false;
}
j++;
}
if (ungleich)
{
summe += array[i];
}
}
return summe;
}
private static void ArrayAusgabe(int[] array)
{
Console.Write("Die Zahlen im Array lauten: ");
foreach (var i in array)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
}
}
NET 5.x; C# 9.x; VS-2019
C#-Code
using System;
using System.Linq;
var arr = new int[] { 1, 2, 3, 1, 2 };
var r = arr.GroupBy(x => x).Select(x => new { n = x.Key, c = x.Count() }).Where(x => x.c == 1).Select(x => x.n).Sum();
Console.WriteLine($"Summe einzeln vorkommender Zahlen: {r}");
