Archiv verlassen und diese Seite im Standarddesign anzeigen : Array auf doppelte Zahlen vergleichen
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:
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
naja das goto brauch ich am ende wieder.
soll ja mehrere durchgänge geben.
Aber du hast mir aufjedenfall geholfen.
dank dir ^^
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^^
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...
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.