Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Java: Alle mogelijke bool array´s met groote 10

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mensen,

Stel je hebt een array van bools in java, met een groote van 10 (of een willekeurig getal X).

Nu wil ik ALLE mogelijke array´s hebben die een truth assignment
representeren via de array. Dus als de array 10 groot is, dan zijn er
2 tot de macht 10 mogelijke array´s (2^10)

Dus elk element in de array representeerd een assignment aan een variable.
... dus ik wil alle mogelijk combinaties van de 10 boolse variabelen representeren via een bool array.

Java code graag .. ik heb gezien hoe men dit doet in Haskell (makkelijk, omdat het recursief met een lijst gedaan kan worden).

Als vast bedankt voor de reacties.

p.s. Ik hoop dat het een challenge is voor jullie..

Gegroet,
skellet

Verwijderd

Hiervoor kun je toch gewoon een integer gebruiken. In feite moet je itereren van 0 tot 2n waarbij n het aantal bits is.

Verwijderd

Topicstarter
En hoe encode je dan deze bit strings?

thanks ..

  • momania
  • Registratie: Mei 2000
  • Laatst online: 17-11 18:29

momania

iPhone 30! Bam!

Verwijderd schreef op zaterdag 10 mei 2008 @ 16:10:

p.s. Ik hoop dat het een challenge is voor jullie..
Voor sommige wel, voor andere niet..... we zijn hier alleen niet om code voor te kauwen voor je.

Geef eerst maar eens aan hoe ver je zelf bent gekomen, geef wat code voorbeelden en geef bijvoorbeeld aan waar je vast loopt. ;)

Neem je whisky mee, is het te weinig... *zucht*


  • NetForce1
  • Registratie: November 2001
  • Laatst online: 00:12

NetForce1

(inspiratie == 0) -> true

In Java zou het volgens mij niet fundamenteel moeilijker moeten zijn dan in Haskell. Wat heb je zelf al geprobeerd? Het idee is dat het een challenge is voor jou, en als je er niet uitkomt dat je dan hulp aan ons kunt vragen. Zie ook de quickstart.

De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"


Verwijderd

Topicstarter
momania schreef op zaterdag 10 mei 2008 @ 16:18:
[...]

Voor sommige wel, voor andere niet..... we zijn hier alleen niet om code voor te kauwen voor je.

Geef eerst maar eens aan hoe ver je zelf bent gekomen, geef wat code voorbeelden en geef bijvoorbeeld aan waar je vast loopt. ;)
Het gaat hier helemaal niet om voorkauwen .. maar om de ideeen te bespreken hoe je dit zou kunnen oplossen!

Cheatah heeft ons zo een idee al doorgegeven! Thanks Cheatah!

Verwijderd

Als x een int is, dan is de waarde van de n-de bit:
Java:
1
x & (1 << n)

Volgens mij hoef je niet meer te weten.

Verwijderd

Topicstarter
Jongens (dames?),

Bedankt .. ik zal het idee gegeven voor Cheatah verder proberen uit te werken.

Thanks!

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:55
Verwijderd schreef op zaterdag 10 mei 2008 @ 16:10:

Java code graag .. ik heb gezien hoe men dit doet in Haskell (makkelijk, omdat het recursief met een lijst gedaan kan worden).
p.s. Ik hoop dat het een challenge is voor jullie..
Een challenge .... PRG is niet het soort forum waar een topicstarter een vraag kan stellen, en waar een andere bezoeker dan een werkend script / stuk code voor post.
Maw, scriptrequests laten we niet toe. Het is de bedoeling dat we je helpen bij het oplossen van een probleem, maar dan willen we graag van de topicstarter (jij dus), ook wat inzet. Maw, eens laten zien wat je al geprobeerd hebt, wat er precies niet lukt, etc....

Misschien lees je best eens onze Quickstart

[ Voor 9% gewijzigd door whoami op 10-05-2008 16:31 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hey Cheatah,

Ik was vergeten te mededelen dat jij het verkeerd hebt opgeschreven:

Het is nl:
(1 & ( t >> i ) )

Waarbij t gelijk is aan de int en i gelijk is aan de in te vullen array index!

Het werkt!

Thanks allemaal .. en vooral Cheatah voor het idee!

Skellet

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Waarom wil je dit? Voor logische validatie? Lijkt me een trage oplossing (hoewel het probleem wel NPC is)

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 11:58

BCC

Zoijar schreef op maandag 12 mei 2008 @ 12:44:
Waarom wil je dit? Voor logische validatie? Lijkt me een trage oplossing (hoewel het probleem wel NPC is)
Het klinkt als een huiswerkopdracht.

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:45

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op maandag 12 mei 2008 @ 12:19:
Hey Cheatah,

Ik was vergeten te mededelen dat jij het verkeerd hebt opgeschreven:

Het is nl:
(1 & ( t >> i ) )
Nee, jij hebt het verkeerd geinterpreteerd. Jij krijgt als antwoord 0 of 1. Bij Cheatah krijg je als antwoord 0 of niet 0 :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Zoijar schreef op maandag 12 mei 2008 @ 12:44:
Waarom wil je dit? Voor logische validatie? Lijkt me een trage oplossing (hoewel het probleem wel NPC is)
Hoe zou je het sneller willen doen dan? Het moet nl. niet zo zijn dat het kwa programmeer werk veel ingewikkelder en complexer wordt.
BCC schreef op maandag 12 mei 2008 @ 12:51:
[...]

Het klinkt als een huiswerkopdracht.
Ohwja .. welke dan? ;)
.oisyn schreef op maandag 12 mei 2008 @ 13:48:
[...]

Nee, jij hebt het verkeerd geinterpreteerd. Jij krijgt als antwoord 0 of 1. Bij Cheatah krijg je als antwoord 0 of niet 0 :)
Probeer jij soms grappig te zijn? Als je goed oplet dan zie je dat x & ( 1 << n) nooit kan zorgen voor een enumeratie van alle mogelijke arrays!

Skellet

  • user109731
  • Registratie: Maart 2004
  • Niet online
Verwijderd schreef op woensdag 14 mei 2008 @ 22:44:
Probeer jij soms grappig te zijn? Als je goed oplet dan zie je dat x & ( 1 << n) nooit kan zorgen voor een enumeratie van alle mogelijke arrays!
Waarom grappig?

Stel je hebt de integer 7, dit is binair 00000111, en je wilt weten of (vanaf rechts) de derde bit 1 is. Met jouw code shift je alle bits rechts weg zodat de bit die je wilt checken achteraan staat. Dan doe je een & 1 om te kijken of deze geset is. Dit levert altijd 0 of 1 op.

Wat Cheatah doet is 1 << 2 zodat je 00000100 krijgt. Vervolgens doe je 00000111 & 00000100, wat gelijk is aan 1 << 2 als die bit geset is, of 0 als dit niet zo is :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 07:40

Creepy

Tactical Espionage Splatterer

Dan heeft .oisyn nog steeds gelijk dat je dat stukje verkeerd interpreteerd. Dat stukje test namelijk alleen maar of bit n is gezet, niks meer niks minder.

De vraag van Zoijar staat ook nog steeds open: waarom wil je dit? Voor logische validatie?

* Creepy mept Jan, doe eens niet zo snel :+

[ Voor 19% gewijzigd door Creepy op 14-05-2008 23:19 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Creepy schreef op woensdag 14 mei 2008 @ 23:18:
De vraag van Zoijar staat ook nog steeds open: waarom wil je dit? Voor logische validatie?
Yep!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08:45

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op woensdag 14 mei 2008 @ 22:44:
Probeer jij soms grappig te zijn? Als je goed oplet dan zie je dat x & ( 1 << n) nooit kan zorgen voor een enumeratie van alle mogelijke arrays!
Nee, dat beweer ik ook niet, en dat doet (1 & ( t >> i ) ) ook niet, dus wat is nou je punt? Misschien moet je zelf eens goed gaan opletten.

Maar goed, ik zal het eens uitspellen, wellicht dat je het dan begrijpt.
Cheatah zegt: een bit testen kan met x & (1 << n)
Jij zegt: Je schrijft het verkeerd op, het is namelijk (1 & ( t >> i ) )
Ik zeg: nee, wat cheatah zei is ook goed. Jij interpreteert het antwoord dat uit de vergelijking van cheatah komt verkeerd - die is namelijk 0 voor false en iets anders voor true. Terwijl jij 1 voor true verwacht, maar simpelweg "ongelijk aan 0" is ook voldoende. Cheatah heeft het dus niet verkeerd opgeschreven.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • pkuppens
  • Registratie: Juni 2007
  • Laatst online: 17-11 23:50
ok, geen scriptrequests, en dan horen antwoorden ook niet, maar deze one-liner wil ik jullie toch niet onthouden, dan kunnen we weer door met echte problemen.
C:
1
for (i = 0; i < (1<<N); i++) printf("%0*b", N, (bool)i)
Pagina: 1