Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Java » boolean Array

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
04.12.2005, 15:00 Uhr
Konne



halllo,

ich muss ein boolean Array anlegen mit 1000 Elementen.

Das erste muss ich auf false setzten, der Rest ist true.

Nun soll ich in einer Schleife das nächste Element true suchen, dies bearbeiten (und dadurch werden andere Elemente auch auf false gesetzt), dann das nächste Element true suchen.

Kann mir jemand helfen, wie ich dieser Schleife sagen muss, dass sie mir das nächste true Element ausgibt?

Geht das am Besten mit einer While Schleife, oder?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.12.2005, 18:11 Uhr
KaraHead




Zitat von Konne:

Nun soll ich in einer Schleife das nächste Element true suchen, dies bearbeiten (und dadurch werden andere Elemente auch auf false gesetzt), dann das nächste Element true suchen.



Ich verstehe nicht ganz was du meinst.
Willst du durch dein array gehen und alle Elemente die true sind false machen? Oder wie oder was?

Formulier den Satz mal bitte um.

Dieser Post wurde am 04.12.2005 um 18:11 Uhr von KaraHead editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.12.2005, 19:17 Uhr
kronos
Quotenfisch
(Operator)



Zitat von Konne:
halllo,

ich muss ein boolean Array anlegen mit 1000 Elementen.

Das erste muss ich auf false setzten, der Rest ist true.



Code:
boolean[]a=new boolean[1000];
for(int i=0;i++<999;a[i]=true);


?
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>

Dieser Post wurde am 04.12.2005 um 19:18 Uhr von kronos editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.12.2005, 19:50 Uhr
KaraHead




Zitat von Konne:

Das erste muss ich auf false setzten, der Rest ist true.




C++:
boolean[]a=new boolean[1000];

for(int i=1;i++<999;a[i]=true); //Das erste auf false, den Rest true

for(int i=0;i++<999;a[i]=false);


Dieser Post wurde am 04.12.2005 um 19:53 Uhr von KaraHead editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.12.2005, 21:42 Uhr
Konne



@KaralHead

ja hast recht, etwas umständlich erklärt.

also, ich setze das erste Element auf false. Dann muss ich ihm sagen, dass er das nächste Element, wo true ist suchen soll. Im ersten Durchlauf also Element 2.
Hat er das gefunden, soll er alle Vielfachen von der Zahl, die im 2. Element steht, auf false setzen, und dann wieder das nächste Element suchen, das noch true ist.Und dies so lange, bis kein Element das true ist, ein Vielfaches hat.

Also ich muss halt die Primzahlen so ermitteln. Oder besser gesagt, ich glaub, dass man sie so ermitteln kann.

Ich hoffe, es ist nun verständlicher.

Danke für deine Hilfe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.12.2005, 22:01 Uhr
KaraHead




C++:
boolean[] arr = new boolean[10000];
for(int i=0; i<999;i++){
  if(arr[i]){ //wenn ob element true ist
    for(int j=i; j<999;j++){ //läuft alle möglichen Vielfachen ab
      if(j%i==0){ //wenn j Vielfaches von i ist, dann wird arr[j] auf false gesetzt
        arr[j]=false;
      }
    }
  }
}



Sollte so ziehmlich das machen was du in deinem letzten Post geschrieben hast.
Falls ich es diesmal richtig verstanden habe

Dieser Post wurde am 04.12.2005 um 22:02 Uhr von KaraHead editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.12.2005, 22:34 Uhr
Konne



ja super.Aber noch ne Frage dazu:

du sagst: if (arr[i]) { // wenn ob element true ist


ist automatisch jedes boolsche Array erstmal true, oder hast du dies schon darauf aufgebaut,dass ich alles außer das erste Element auf true gesetzt habe?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.12.2005, 22:42 Uhr
virtual
Sexiest Bit alive
(Operator)


Initial werden booleans auf false initialisiert, auch in einem Array.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
04.12.2005, 22:48 Uhr
Konne



ja aber dann versteh ich diese Zeile nicht so ganz. Müsste dann noch kommen ob das arr[i] true ist?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
04.12.2005, 22:50 Uhr
KaraHead



Achja, hab ich noch vergessen.
Also in Java werden alle boolean Objekte per Default auf false gesetzt.


C++:
boolean[] arr = new boolean[10000];

for(int i=1; i<arr.length; i++)  //setzt alle außer das erste auf true
  arr[i]=true;

for(int i=0; i<999;i++){
  if(arr[i]){ //wenn ob element true ist
    for(int j=i; j<999;j++){ //läuft alle möglichen Vielfachen ab
      if(j%i==0){ //wenn j Vielfaches von i ist, dann wird arr[j] auf false gesetzt
        arr[j]=false;
      }
    }
  }
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Java ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: