Iba Pa

Mga array ng Mac C++ at random na numero

iBookG4user

Orihinal na poster
Hun 27, 2006
Seattle, WA
  • Setyembre 20, 2009
Inilalagay nila ang mga tutor para sa C++ sa pinakamahirap na oras sa aking kolehiyo... Anyways, nai-post ng instructor ang mga sumusunod na direksyon:

'Sumulat ng function na pupunuin ang array na may 25 random na numero sa pagitan ng 1 at 10. Pagkatapos ay magsulat ng function na magpi-print ng array. Sumulat ng ilang code sa pangunahing upang subukan ang iyong mga function. Minsan ang test code na ito ay tinatawag na *driver

Huwag gumamit ng mga global variable dito. Ipasa ang array sa function sa pamamagitan ng listahan ng parameter'

Ang aking kasalukuyang code ay hindi nagreresulta sa anumang mga error sa kanyang debugger, ngunit hindi ito naglalabas ng array. At hindi ko alam kung ano ang ibig niyang sabihin sa pagsulat sa driver, ano ang dapat kong subukan? Lahat kayo ay napatunayang lubos na nakakatulong sa nakaraan at sigurado akong tutulong kayo na ituro ako sa tamang direksyon sa pagkakataong ito

Code: |_+_|

lee1210

Ene 10, 2005


Dallas, TX
  • Setyembre 20, 2009
Ilang bagay: Ang iyong array ay dapat na nasa uri ng int[], hindi double[]. Kailangan mong tumanggap ng int array para makagawa at makapag-print. Kailangan mong magdeklara ng int[] sa pangunahing, ipasa ito upang makagawa, punan ito doon, pagkatapos ay ipasa ito upang i-print. Ang<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

At saka, at sigurado akong isa itong matapat na pagkakamali, sigurado akong sinadya ng propesor mo pseudo- random.

Gayundin, sa pangunahin, nagdedeklara ka ng mga bagong double()s, hindi gumagamit ng mga produkto at pag-print. Alisin ang doble doon, at ipasa sa isang argumento tulad ng tinalakay sa itaas, at baguhin ang uri ng pagbabalik ng pareho sa mga ito upang walang bisa.

-Basahin

gnasher729

Nasuspinde
Nob 25, 2005
  • Setyembre 20, 2009
Paano ka magsusulat ng isang function prototype para sa function na 'produce'?
At paano ka magsusulat ng isang tawag sa function na 'produce'?

At sa loob ng iyong 'pangunahing' function, alin sa dalawa ang naisulat mo, isang function prototype o isang function call?

iBookG4user

Orihinal na poster
Hun 27, 2006
Seattle, WA
  • Setyembre 20, 2009
Sinabi ni lee1210: Ilang bagay: Ang iyong array ay dapat na nasa uri ng int[], hindi double[]. Kailangan mong tumanggap ng int array para makagawa at makapag-print. Kailangan mong magdeklara ng int[] sa pangunahing, ipasa ito upang makagawa, punan ito doon, pagkatapos ay ipasa ito upang i-print. Ang<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

At saka, at sigurado akong isa itong matapat na pagkakamali, sigurado akong sinadya ng propesor mo pseudo- random.

Gayundin, sa pangunahin, nagdedeklara ka ng mga bagong double()s, hindi gumagamit ng mga produkto at pag-print. Alisin ang doble doon, at ipasa sa isang argumento tulad ng tinalakay sa itaas, at baguhin ang uri ng pagbabalik ng pareho sa mga ito upang walang bisa.

-Basahin

Ok, ginawa ko ang mga pagbabago na iyong iminungkahi at ang code ay mukhang mas lohikal. Bagaman ngayon ay nakakakuha ako ng tatlong mga error sa para sa mga loop.

Code: |_+_|

Mga kalakip

  • Screen shot noong 2009-09-20 sa 5.42.31 PM.png Screen shot noong 2009-09-20 nang 5.42.31 PM.png'file-meta'> 178.1 KB ยท Views: 1,941

lee1210

Ene 10, 2005
Dallas, TX
  • Setyembre 20, 2009
Baguhin ang uri ng argumento ng produkto sa int[] o int *. Sa ngayon ito ay int lang, kaya hindi mo magagamit ang [], atbp. Parehong napupunta para sa pag-print. Gayundin, hindi mo kailangang ibalik ang anumang bagay mula sa produkto o pag-print. Baguhin ang kanilang uri ng pagbabalik sa walang bisa.

Sa tingin ko ang layunin ay para sa iyo na tawagan ang print pabalik sa main, na dapat ay maayos.

Gayundin, kapag nagpasa ka ng array upang makagawa, gumamit lamang ng array hindi *array.

-Basahin

iBookG4user

Orihinal na poster
Hun 27, 2006
Seattle, WA
  • Setyembre 20, 2009
Sinabi ni lee1210: Baguhin ang uri ng argumento ng produkto sa int[] o int *. Sa ngayon ito ay int lang, kaya hindi mo magagamit ang [], atbp. Parehong napupunta para sa pag-print. Gayundin, hindi mo kailangang ibalik ang anumang bagay mula sa produkto o pag-print. Baguhin ang kanilang uri ng pagbabalik sa walang bisa.

Sa tingin ko ang layunin ay para sa iyo na tawagan ang print pabalik sa main, na dapat ay maayos.

Gayundin, kapag nagpasa ka ng array upang makagawa, gumamit lamang ng array hindi *array.

-Basahin

Gumana ito
Ngayon, alam mo ba kung ano ang ibig niyang sabihin sa pamamagitan ng pagsulat ng code upang subukan ang mga function? Ano ang ibig niyang sabihin doon? At maraming salamat sa iyong tulong hanggang ngayon!

Code: |_+_|

chown33

Moderator
Miyembro ng tauhan
Agosto 9, 2009
ang Abysmal Plane
  • Setyembre 20, 2009
Sinabi ng iBookG4user: Ngayon, alam mo ba kung ano ang ibig niyang sabihin sa pamamagitan ng pagsulat ng code upang subukan ang mga function? Ano ang ibig niyang sabihin doon?

Ang detalye ay nagsabi na ang mga numero sa array ay dapat nasa pagitan ng 1 at 10. Maaari kang sumulat ng pagsubok na nagpapatunay na iyon.

Sinabi rin nito na ang mga numero ay dapat na random. Bagama't maaaring mas mahirap subukan ang randomness kaysa sa tila, ang simpleng non-randomness ay maaaring madaling subukan. Ang pinakasimpleng ay upang kumpirmahin na ang lahat ng mga numero ay hindi ang parehong halaga. Ang mas kumplikadong mga pagsubok ng randomness ay gumagamit ng mga istatistikal na pagsusuri.

Ang isa pang pagsubok na maaari mong isulat ay upang kumpirmahin ang produce() function na nagbabalik ng iba't ibang mga halaga sa tuwing ito ay tinatawag. Ito ay isang simpleng paraan ng pagsusuri sa istatistika, ibig sabihin, pagtiyak na ang magkakasunod na invocation ay may mga independiyenteng resulta.

Dapat mo ring isaalang-alang ang pagsisimula ng array na may mga kilalang di-wastong halaga, tulad ng -1 o 0, bago tumawag sa produce(). Kung hindi, ang isang hindi nasimulang lokal na array ay maaaring naglalaman na ng mga hindi mahulaan na halaga, na maaaring bigyang-kahulugan ng isang pagsubok bilang random kahit na ang produce() ay walang ginagawa.

Bilang isang detalye, ang pahayag ng trabaho ay medyo malabo. Sa isang bagay, hindi nito tinukoy kung anong mga pagsubok ang kailangan nitong ipasa. Maniwala ka sa akin, kung ipaubaya mo sa karamihan ng mga programmer ang pagpili ng mga pagsusulit sa kwalipikasyon, ito ay isang malaking pagkakamali. Ang code ay maaaring gumana sa isang kaso lamang, na kung saan ay ang kaso na ginamit ng programmer upang bumuo ng code. Kung mukhang baliw iyon, masisiguro kong nangyari na.

iBookG4user

Orihinal na poster
Hun 27, 2006
Seattle, WA
  • Setyembre 20, 2009
Iyon ay sapat na simple, salamat!
Naging maganda ito:
Code: |_+_| S

Sander

sa
Abr 24, 2008
  • Setyembre 21, 2009
Sinabi ng iBookG4user: Iyon ay sapat na simple, salamat!
Naging maganda ito:

Subukang maglagay ng 'invalid' na numero sa iyong array (sabihin, 11) at tingnan kung nakita iyon ng function na ito.

iBookG4user

Orihinal na poster
Hun 27, 2006
Seattle, WA
  • Setyembre 21, 2009
Sabi ni Sander: Subukang maglagay ng 'invalid' na numero sa iyong array (sabihin, 11) at tingnan kung nakita ng function na ito.

Pansamantala kong itinakda ang array upang payagan ang mga numero na mas malaki sa 10 at nakita ito, salamat S

Sander

sa
Abr 24, 2008
  • Setyembre 22, 2009
Sinabi ng iBookG4user: Pansamantala kong itinakda ang array upang payagan ang mga numero na mas malaki kaysa sa 10 at nakita ito, salamat

Kahit na hindi ito ang unang elemento sa array..?

Ang dahilan kung bakit ako nagtatanong ay dahil ang iyong print() function (kahit ang huling bersyon na ipinapakita sa thread na ito) ay nagbabalik lamang ng unang elemento ng array (na-convert sa double).