aantal maal richtgetal tonen in array

Status
Niet open voor verdere reacties.

exobuzz

Nieuwe gebruiker
Lid geworden
7 nov 2009
Berichten
1
Ik ben al een poosje bezig met een opdracht om een aantal waardes in te lezen in een array en daarna een richtgetal. Vervolgens moet het aantal maal dat het richtgetal is ingevoerd worden getoond.
Tot zo ver heb ik dit:
Alleen krijg ik als uitvoer bij aantal keer richtgetal steeds 0?

int[] tabel = new int[20];
int invoer = -1;
int richtgetal;
int aantal = 0;

while (invoer != 0)
{
Console.WriteLine("Geef een getal [Gevolgd door Enter]:");
invoer = int.Parse(Console.ReadLine());
}

Console.WriteLine("Geef een richtgetal [Gevolgd door Enter]:");
richtgetal = int.Parse(Console.ReadLine());

if (invoer > 0)
{
for (int index = 0; index < 21; index++)
{
tabel[index] = invoer;
}

foreach (int getal in tabel)
{
if (getal == richtgetal)
{
aantal++;
}
}
}

Console.WriteLine("Het getal {0} kom {1} keer voor.",richtgetal, aantal);

Console.WriteLine("");
Console.Write("[Sluit af met Enter]");
Console.ReadLine();
 
Het volgende probleem doet zich aan:
- invoer = int.Parse(Console.ReadLine());

Neem aan dat je getal is: 1 enter 2 enter 3 enter 4 enter 5 enter 0 enter
invoer = 0

zet eens tabel[index] = int.Parse(Console.ReadLine());
in de while lus. verhoog ook index met 1 en begin bij 0.

Code:
int index = 0;

while (invoer != 0)
{
Console.WriteLine("Geef een getal [Gevolgd door Enter]:");
tabel[index] = int.Parse(Console.ReadLine());
index += 1;
}

Dit stukje is niet meer nodig:
Code:
if (invoer > 0)
{
for (int index = 0; index < 21; index++)
{
tabel[index] = invoer;
}

Kan eventueel een schoonheidsfoutje bevatten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan