Hei,
tehtävänäni on laatia Pascal-kielinen ohjelma, joka tulostaa N satunnaista lottoriviä, jotka poikkeavat toisistaan vähintään K:lla numerolla ( 0 < K < 7 ). Ohjelma siis kysyy käyttäjältä kuinka monta riviä halutaan ja paljonko rivien on poikettava toisistaan.
Tämän ohjelman laatiminen ei enää omatoimisten opintojeni perusteella onnistu eikä apua tahdo löytyä mistään. Auttakaa nyt viisaammat miten laadin ohjelman. Varmasti teille monelle tämä on aivan simppeliä touhua.
Kiitokset jo etukäteen.
tehtävänäni on laatia Pascal-kielinen ohjelma, joka tulostaa N satunnaista lottoriviä, jotka poikkeavat toisistaan vähintään K:lla numerolla ( 0 < K < 7 ). Ohjelma siis kysyy käyttäjältä kuinka monta riviä halutaan ja paljonko rivien on poikettava toisistaan.
Tämän ohjelman laatiminen ei enää omatoimisten opintojeni perusteella onnistu eikä apua tahdo löytyä mistään. Auttakaa nyt viisaammat miten laadin ohjelman. Varmasti teille monelle tämä on aivan simppeliä touhua.
Kiitokset jo etukäteen.
Vastaukset 9
Vanhimmat
Kirja käteen tai googlaa.
mistään viisaudesta kiinni vaan VIITSIMISESTÄ!
Sorry, että oon tyly.
niin homma alkaa selkiintyä.
Mikä pascal (Delphikö)?
Mikä tuossa on vaikeinta sinulle?
Laitapas tähän alle sen verran sitä sun pascal-koodia, jonka olet saanut aikaiseksi ;)
Vai onko niin ettet ole päässyt alkua pitemmälle?
Rakentele ohjelman pääkohdat
7 numeron arvonta:
tässä pitää arpoa niin kauan, että saadaan 7 eri numeroa.
kun yksi rivi on saatu arvottua, mennään taas kohtaan "7 numeron arvonta" ellei ole jo saatu arvottua N määrää rivejä.
Rivien vertailu:
Kun saadaan arvottua uusi rivi, täytyy verrata tämän rivin numeroita edelliseen (edellisiin) riviin. Jos useampi kuin K numeroa ovat samat kuin edellisessä (edellisissä) rivissä, täytyy mennä arpomaan tämä rivi uudestaan.
Kun en tunne noita Pascalia(kaan), niin en tiedä mahdollisuuksísta. Mutta olettaisin, että periaate on se, että arvotaan niin kauan kuin on tarve, eli kunnes ollaan saatu N kpl 7 numeron rivejä, joissa toisistaan poikkeavia numeroita on vähintään K verran. Eli yritys ja erehdys ja uudestaan, kunnes haluttu lopputulos on saatu.
Ja K arvo ei saa olla liian suuri, muuten tehtävä on ohjelmallekin mahdoton, riippuen tietysti myös N arvosta.
7 numeron arvonnassahan joutuu arvottua numeroa vertaamaan sen rivin aiemmin arvottuihin, jos on jo tämä numero, arvotaan se uudestaan.
Eli muuttujiksihan ne 7 numeroa täytyy laittaa, vaikka numero(x) jossa x on 1...7.
Eli riviä arvottaessa ekaksi saatu numero tulisi muuttujan numero(1) arvoksi, toista numeroa arvottaessa lukua verrattaisiin muuttujaan
numero(1). Toinen saatu numero tulisi muuttujan numero(2) arvoksi. Kolmatta numeroa arvottaessa sitä pitää sitten verrata muuttujiin numero(1) ja numero(2). Kun kaikki 7 numeroa olisi saatu arvottua, olisi 7. arvottu numero muuttujassa numero(7).
Riviä 2 arvottaessa arvotut numerot asetettaisiin muuttujiin numero(8)...numero(14).
Kun rivi 2 saadaan arvottua, verrataan muuttujien arvoja 1. rivin muuttujiin numero(1)...numero(7).
Riviä 3 arvottaessa arvotut numerot asetettaisiin muuttujiin numero(15)...numero(21).
Kun rivi 3 saadaan arvottua, verrataan muuttujien arvoja 1. rivin muuttujiin numero(1)...numero(7) ja 2. rivin muuttujiin numero(8)...numero(14).
jne jne.
ÄH! noin se menee.
...kettuako tuolla ohjelmalla kukaan tekee :-o
mutta jos luulee lottovoiton jollain ohjelmalla saavansa, silloin luulee liikoja.
Sen sijaan, jos ei halua miettiä mitähän numeroita lottoriviin laittaisi, panee koneen miettimään.
Kiitoksia kommenteistanne.
En minäkään lottovoittoja tällä ohjelmalla usko saavani mutta harjoitustyö pitäisi saada tehtyä. En tosiaankaan ole tässä päässyt juuri alkua pidemmälle eli tehtävän juoni on ollut minulta hukassa. Toivottavasti neuvojenne avulla pääsen eteenpäin. Tenttikin on tulossa... Saa nähdä miten tytön käy?
Ihan hyvin se tentti menee. Laitat vain ne tenttikysymykset tänne ja toivot jonkun ehtivän vastaavan niihin kattavasti ennen palautusaikaa, kuten tähänkin asti on tehty.