PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array auf doppelte Zahlen vergleichen



Siken
11.07.2007, 13:47
Hallo,
da ich gerade an einer Lotto Simulation arbeite,
und darunter auch mit Arrays arbeite,
habe ich Probleme herauszufinden ob in einen Array doppelte Zahlen vorkommen. Natürlich könnte ich dann zig:
if(getippt[1]==getippt[2])
{
goto abfrage;
}
else
{
goto blablba;
}

Das wäre allerdings zu umständlich.
Also bräuchte ich Hilfe ^^
Der Array sieht so aus:
int array[6]={zahl1, zahl2, zahl3, zahl4, zahl5, zahl6};

help me pls. :wink:

l33cher
11.07.2007, 14:25
naja musst wohl etwas aufwand und nach jeder einagbe überprüfen...
würde es in ne methode auslagern, der du das array und die neue zahl übergibst, in der könntes so aussehen:

...
methode(int[] array, int zahl){
for(int i =0, i<5, i++){
if(zahl==array[i]){
return false;
}
}
if (zahl<1 || zahl>49){
return false;
}
return true;
}
...

mit der jede eingabe testen und passt, es sei denn du lässt immer erst alle 6 zahlen eingeben und überprüfst dann ob die richtig sind, find ich aber net so der burner ;)
und goto vergessen wir ganz schnell wieder :P

Siken
11.07.2007, 14:29
naja das goto brauch ich am ende wieder.
soll ja mehrere durchgänge geben.
Aber du hast mir aufjedenfall geholfen.
dank dir ^^

l33cher
11.07.2007, 19:39
dann heisst das Zauberwort Schleife ;)
Mach ne while(true) und beend sie mit break; wenn du fertig bist, goto is einfach unsauber,solltest du dir abgewöhnen.
Bei falscheingabe machst du nen continue; (sry gibstd as in c^^? ) und bei richtiger lässt nen zähler hochzählen. Wenn der bei 6 ist wird abgebrochen.
Inzwischen hasts warsch eh schon mit goto fertig, auch egal^^

rob00n
11.07.2007, 20:01
du willst also bei der eingabe überprüfen obs die zahl im array schon gibt?
wenn ja würd ich das so machen:


int i, j, array[6];

for(i=0;i<=5;i++)
{
array[i] = //deine eingabe;
for(j=0;j<=i;j++)
{
if(array[i] == array[j])
{
//Fehlermeldung ausgeben und array[i] erneut einlesen
}
}
}

so müsste es gehn, falls falsch -> sry, bin grad bissl verballert...