Aufgabe: In das Array *zahlen* werden von der Konsole 5 Zahlen eingelesen. Geben Sie auf der Konsole den Text "Alle durch 3 teilbar!" aus, wenn alle Zahlen in *zahlen* durch 3 teilbar sind. Ansonsten geben Sie "Nicht alle durch 3 teilbar!" aus.
Diese Aufgabe hab ich mit einer forschleife gelöst, aber wenn ich die forschleife "for(int i = 0; i<zahlen.Length;i++)" mit der foreach schleife "foreach(int i in zahlen)" ersetze, wird mir ein Fehler angezeigt. Eigentlich müsste es mit einer Foreach-schleife auch funktionieren. Warum funktioniert es aber nicht?
Den Fehler kriege ich bei den Werten: 3,6,9,12,15
Mein Code:
using System;
class Program
{
public static void Main(string[] args)
{
int[] zahlen = new int[5];
bool durch3teilbar = false;
for (int i = 0; i < 5; i++)
{
zahlen[i] = Convert.ToInt32(Console.ReadLine());
}
for(int i = 0; i<zahlen.Length;i++)
{
if(zahlen[i]%3==0)
{
durch3teilbar = true;
}
else
{
durch3teilbar = false;
break;
}
}
if(durch3teilbar ==true)
{
Console.WriteLine("Alle durch 3 teilbar!");
}else
{
Console.WriteLine("Nicht alle durch 3 teilbar!");
}
}
}