Blogi miten täytät arrayn random luvuilla kaikki eriä

Anonyymi-ap

14

218

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Poistin windowsin ennen sen asentamista!

      • Anonyymi

        Windowsissa ei mikään toimi
        Kuka idiootti on keksinyt windowsin jossa mikään ei toimi ja äänissä järkyttävä latessi ja pelatessa kuva sumentuu


      • Anonyymi

        ? Minkä asensit


    • Anonyymi

      Duunaa taulukko missä on eri lukuja. Sitten teet sopivan kokoisen satunnaisen settilistan osoittamaan taulukon lukuihin. Vähän kuten se ikivanha lottoarvontatehtävä.

      • Anonyymi

        hmm.. sanoisin et saisi noin toimimaan oikein, vaan voisi tulla samoja numeroita


      • Anonyymi
        Anonyymi kirjoitti:

        hmm.. sanoisin et saisi noin toimimaan oikein, vaan voisi tulla samoja numeroita

        Ei tule tietenkään samoja numeroita, koska taulukossa on vain eri lukuja.

        Funtsi tehtävää lottokoneen kautta. Siellä on vain palloja, joissa eri lukuja, joista otetaan osa pihalle satunnaisessa järjestyksessä.

        Käytännössähän tuon voi tehdä setin kauttakin, jos lukualue on pieni. Jos settiin ei jää riittävästi lukuja, niin sitten arvotaan muutama lisää.

        Siis: täytä taulukko/lista/whatever randomeilla ja tee siitä setti. Jos ei pituus riitä, niin arvo vajauksen verran lisää randomeita. Tee setti taas. Jos ei riitä, niin jatka arpomista.

        Lopputulos on kuitenkin se, että siinä joukossa ei ole kahta samaa lukua.


      • Anonyymi
        Anonyymi kirjoitti:

        Ei tule tietenkään samoja numeroita, koska taulukossa on vain eri lukuja.

        Funtsi tehtävää lottokoneen kautta. Siellä on vain palloja, joissa eri lukuja, joista otetaan osa pihalle satunnaisessa järjestyksessä.

        Käytännössähän tuon voi tehdä setin kauttakin, jos lukualue on pieni. Jos settiin ei jää riittävästi lukuja, niin sitten arvotaan muutama lisää.

        Siis: täytä taulukko/lista/whatever randomeilla ja tee siitä setti. Jos ei pituus riitä, niin arvo vajauksen verran lisää randomeita. Tee setti taas. Jos ei riitä, niin jatka arpomista.

        Lopputulos on kuitenkin se, että siinä joukossa ei ole kahta samaa lukua.

        "Ei tule tietenkään samoja numeroita, koska taulukossa on vain eri lukuja."
        -Taulukko ei tule täyteen jos siinä enemmän kohtia kuin numeroita, tulee eroria
        -Jos numerot on yli kuuden niin tulee vääriä numeroita

        "Siis: täytä taulukko/lista/whatever randomeilla ja tee siitä setti. Jos ei pituus riitä, niin arvo vajauksen verran lisää randomeita. Tee setti taas. Jos ei riitä, niin jatka arpomista."

        -Jos jatkaa arpomista luuppeja tullee lisää mikä ei ollut tavoite


      • Anonyymi
        Anonyymi kirjoitti:

        "Ei tule tietenkään samoja numeroita, koska taulukossa on vain eri lukuja."
        -Taulukko ei tule täyteen jos siinä enemmän kohtia kuin numeroita, tulee eroria
        -Jos numerot on yli kuuden niin tulee vääriä numeroita

        "Siis: täytä taulukko/lista/whatever randomeilla ja tee siitä setti. Jos ei pituus riitä, niin arvo vajauksen verran lisää randomeita. Tee setti taas. Jos ei riitä, niin jatka arpomista."

        -Jos jatkaa arpomista luuppeja tullee lisää mikä ei ollut tavoite

        Ei ole pakko luupata, jos haluat käyttää enemmän muistia ja tehdä taulukon kaikista luvuista joita käytetään. Mutta tässä ei kerrottu kuinka isosta lukualueesta on kyse, niin on edettävä vähiten resursseja käyttävällä tavalla.

        Lotto-harjoitus on siksi helppo, kun lukuja on vähän. Tehdään vaikka 39-alkioinen taulukko, joka täytetään luvuilla 1...39. Ensin arvotaan indeksi väliltä 0...sizeof(taulukko). Popataan ko. indeksin arvo pois taulukosta ja pushataan se tulostaulukkoon. Sitten arvotaan taas indeksi väliltä 0...sizeof(taulukko). Huomio taulukon koon tässä pienentyneen jo yhdellä (pop). Ja taas tulos pushataan tulostauluun arvo. Jatketaan tätä sitten tarpeeksi kauan.

        Joissakin kielissä on myös shuffle-funktio, joka sekoittaa alkuperäisen taulukon alkiot. Silloin riittää, että nappaa jostain kohtaa taulukkoa halutun määrän peräkkäisiä alkioita.

        Mutta tosiaan jos lukualue on vaikka 1.... 1000 triljoonaa, niin taulukon käyttö on poissuljettu. Silloin pitää alkaa luuppailemaan.


      • Anonyymi kirjoitti:

        Ei ole pakko luupata, jos haluat käyttää enemmän muistia ja tehdä taulukon kaikista luvuista joita käytetään. Mutta tässä ei kerrottu kuinka isosta lukualueesta on kyse, niin on edettävä vähiten resursseja käyttävällä tavalla.

        Lotto-harjoitus on siksi helppo, kun lukuja on vähän. Tehdään vaikka 39-alkioinen taulukko, joka täytetään luvuilla 1...39. Ensin arvotaan indeksi väliltä 0...sizeof(taulukko). Popataan ko. indeksin arvo pois taulukosta ja pushataan se tulostaulukkoon. Sitten arvotaan taas indeksi väliltä 0...sizeof(taulukko). Huomio taulukon koon tässä pienentyneen jo yhdellä (pop). Ja taas tulos pushataan tulostauluun arvo. Jatketaan tätä sitten tarpeeksi kauan.

        Joissakin kielissä on myös shuffle-funktio, joka sekoittaa alkuperäisen taulukon alkiot. Silloin riittää, että nappaa jostain kohtaa taulukkoa halutun määrän peräkkäisiä alkioita.

        Mutta tosiaan jos lukualue on vaikka 1.... 1000 triljoonaa, niin taulukon käyttö on poissuljettu. Silloin pitää alkaa luuppailemaan.

        Luuppaamatta tästä harjoituksesta ei selviä. Idea lieneekin, että luuppaaminen minimoidaan ja että luuppien pituus on määrämittainen, siis ennustettava.

        Aputaulukon käyttö edellä kuvatulla tavalla toimii, kun lukualue on pieni. Kaksi ei-sisäkkäistä luuppia sisältyy tähänkin ratkaisuun. Huomaa, että mm. shuffle-funktio sisältää luupin.

        Jos lukualue on liian suuri taulukoitavaksi, tulee nopeasti mieleen seuraava ratkaisu.

        Luvut tulostaulukossa pidetään suuruusjärjestyksessä esimerkiksi puurakennetta käyttäen. Luupataan: Arvotaan luku lukualueelta. Käydään tulostaulukko läpi pienimmästä luvusta alkaen ja milloin luku tulostaulukossa on pienempi tai yhtäsuuri kuin arvottu luku, arvottua lukua kasvatetaan yhdellä. Tulostaulukon läpikäynti päättyy viimeistään kun luku tulostaulukossa on suurempi kuin arvottu luku. Arvottu luku sijoitetaan tulostaulukkoon. Lukualuetta pienennetään yhdellä ja luuppaaminen jatkuu.

        Ratkaisussa on kaksi sisäkkäistä luuppia. Lisäksi puurakenteen käsittely tarkoittaa eräänlaista luuppaamista. Jos arvottavia lukuja on vain vähän, tulostaulukon pitäminen järjestyksessä onnistuu yksinkertaisesti sisentämällä (joka vaatii oman luuppinsa).


      • Anonyymi
        y2017 kirjoitti:

        Luuppaamatta tästä harjoituksesta ei selviä. Idea lieneekin, että luuppaaminen minimoidaan ja että luuppien pituus on määrämittainen, siis ennustettava.

        Aputaulukon käyttö edellä kuvatulla tavalla toimii, kun lukualue on pieni. Kaksi ei-sisäkkäistä luuppia sisältyy tähänkin ratkaisuun. Huomaa, että mm. shuffle-funktio sisältää luupin.

        Jos lukualue on liian suuri taulukoitavaksi, tulee nopeasti mieleen seuraava ratkaisu.

        Luvut tulostaulukossa pidetään suuruusjärjestyksessä esimerkiksi puurakennetta käyttäen. Luupataan: Arvotaan luku lukualueelta. Käydään tulostaulukko läpi pienimmästä luvusta alkaen ja milloin luku tulostaulukossa on pienempi tai yhtäsuuri kuin arvottu luku, arvottua lukua kasvatetaan yhdellä. Tulostaulukon läpikäynti päättyy viimeistään kun luku tulostaulukossa on suurempi kuin arvottu luku. Arvottu luku sijoitetaan tulostaulukkoon. Lukualuetta pienennetään yhdellä ja luuppaaminen jatkuu.

        Ratkaisussa on kaksi sisäkkäistä luuppia. Lisäksi puurakenteen käsittely tarkoittaa eräänlaista luuppaamista. Jos arvottavia lukuja on vain vähän, tulostaulukon pitäminen järjestyksessä onnistuu yksinkertaisesti sisentämällä (joka vaatii oman luuppinsa).

        Puurakenne on tarpeeton, yksinkertainen sisentäminen onnistuu ilman erillistä luuppia siten, että tulostaulukon täyttäminen aloitetaan taulukon viimeisestä elementistä. Näin ollen sisentämisen edellyttämä lukujen siirto voidaan tehdä samalla kun arvottua lukua vertaillaan tulostaulukon lukuihin pienimmästä alkaen.

        Toiminnan voi kääntää myös päinvastaiseksi eli tulostaulukon täyttäminen aloitetaan taulukon ensimmäisestä elementistä ja vertailu viimeisestä eli suurimmasta luvusta. Lukualuetta pienennetään alkupäästä eikä loppupäästä. Toiminnan tehokkuudessa ei ole eroa, mutta ensimmäisestä elementistä aloittaminen voi olla luontevampaa esimerkiksi jos arvottavien lukuen määrä ei ole ennalta tiedossa.


    • Anonyymi

      Typerys ei osaa edes avausta tänne tehdä ja menee Blogi kirjoittelemaan.

    • Anonyymi

      "all less that 6 more than one. We talk about 1,2,3,4,5,6." No, you talk about 2,3,4,5.

      • Anonyymi

        Just like this.


    • Anonyymi

      quicksort metodilla vaihdat numeroiden paikat, yksi c/c++ ohjelmointirivi?

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. IL - Patteriauto syttyi parkkihallissa Tampereella - 50 autoa LUNASTUKSEEN!

      "Palon aikaan parkkihallissa oli 90 autoa, joista noin 50 tuhoutui palossa korjauskelvottomiksi. Lisäksi palo vaurioitti
      Maailman menoa
      247
      45349
    2. Kristillisistä Siionisteista asiallista tietoa Hesarissa.

      KD ja Persut ovat kaiken takana avoimesti!
      Maailman menoa
      30
      11233
    3. Persut JYTKYTTÄÄ ylös, ohi kepun! +2,1 %

      Persut palasi kolmen suurimman joukkoon ja on matkalla kohti kevään 2027 eduskuntavaalivoittoa. Sosialistit ovat syöksy
      Maailman menoa
      207
      10873
    4. Sanna Marin saa ylistystä Hillary Clintonilta

      Jos joku ei tiedä kuka tämä rouva Hillary Clinton on, niin kerrottakoon "fun fact", eli hän on se keneltä Donald Trump
      Maailman menoa
      36
      9711
    5. Ja jälleen uusi latauksessa olleen sähköauton palo! Nyt Keravan Prisman parkkihallissa.

      IS 3.10.2025 Latauksessa ollut sähköauto syttyi yöllä tuleen Keravan Prisman parkkihallissa, Keski-Uudenmaan pelastusla
      Maailman menoa
      85
      8528
    6. Gallup, PS:lle JÄRISYTTÄVÄ nousu, SDP suurin laskija

      https://yle.fi/a/74-20186114 PS kovaa vauhtia nousemassa ennen 2027 vaaleja suurimmaksi puolueeksi. Nyt mennään jo etua
      Maailman menoa
      223
      6511
    7. Pirjo sanoi Esalle

      Painu sinä Esa hevonvittuun... johon Esa? Laittakaapa ehdotuksia. # ==================== # APUFUNKTIO: satunnainen kok
      Maailman menoa
      0
      3210
    8. Jos mä joisin

      Itteni känniin nyt, voi olla että mä tunnustaisin sulle kuinka ihastunut oon ollu suhun viimeiset 2 vuotta. Eikä mua pys
      Ikävä
      28
      2222
    9. Tänään torille

      Tänään kuulema torilla tapahtuu klo.20. Tulkaaha paikalle kattoon.
      Hyrynsalmi
      37
      1619
    10. Koulu-uhkaus.

      Meinaatteko päästää lapsenne kouluun, niin kauan kun tämä uhkaaja siellä myös on? Tekijä on kaikilla tiedossa.
      Hyrynsalmi
      26
      1510
    Aihe