iBookG4 kasutaja
Originaalplakat- 27. juuni 2006
- Seattle, WA
- 20. september 2009
'Kirjutage funktsioon, mis täidab massiivi 25 juhusliku arvuga vahemikus 1 kuni 10. Seejärel kirjutage funktsioon, mis prindib massiivi välja. Oma funktsioonide testimiseks kirjutage peas mõni kood. Mõnikord nimetatakse seda testkoodi *draiveriks
Ärge kasutage siin globaalseid muutujaid. Viige massiiv funktsioonile läbi parameetrite loendi'
Minu praegune kood ei anna siluris vigu, kuid see ei väljasta massiivi. Ja ma ei tea, mida ta mõtleb juhi kirjutamise all, mida ma peaksin testima? Olete kõik osutunud minevikus äärmiselt abivalmiks ja olen kindel, et aitate seekord mind õiges suunas suunata
Kood: |_+_|
lee1210
- 10. jaanuar 2005
- Dallas, TX
- 20. september 2009
Samuti, ja ma olen kindel, et see on aus viga, olen kindel, et teie professor mõtles seda pseudo- juhuslik.
Lisaks deklareerite üldiselt uusi topelt(id), mitte ei kutsu esile tootmist ja printimist. Võtke topelt ära ja esitage argument, nagu ülalpool kirjeldatud, ja muutke mõlema tagastustüüp tühiseks.
- Loe
gnasher729
Peatatud
- 25. november 2005
- 20. september 2009
Ja kuidas kirjutaksite väljakutse funktsioonile 'tootma'?
Ja kumba neist kahest olete oma põhifunktsiooni sisse kirjutanud, kas funktsiooni prototüübi või funktsioonikutse?
iBookG4 kasutaja
Originaalplakat- 27. juuni 2006
- Seattle, WA
- 20. september 2009
lee1210 ütles: Mõned asjad: Teie massiiv peaks olema tüüpi int[], mitte double[]. Tootmiseks ja printimiseks peate nõustuma sisemise massiiviga. Peate deklareerima int[], edastama selle tootmiseks, täitma selle ja seejärel edastama printimiseks. The<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.
Samuti, ja ma olen kindel, et see on aus viga, olen kindel, et teie professor mõtles seda pseudo- juhuslik.
Lisaks deklareerite üldiselt uusi topelt(id), mitte ei kutsu esile tootmist ja printimist. Võtke topelt ära ja esitage argument, nagu ülalpool kirjeldatud, ja muutke mõlema tagastustüüp tühiseks.
- Loe
Ok, tegin teie soovitatud muudatused ja kood näeb loogilisem välja. Kuigi nüüd saan for-tsüklites kolm viga.
Kood: |_+_|
Manused
lee1210
- 10. jaanuar 2005
- Dallas, TX
- 20. september 2009
Ma arvan, et teie eesmärk on printimisel tagasi helistada, mis peaks olema hea.
Samuti, kui edastate massiivi tootmiseks, kasutage massiivi, mitte *massiivi.
- Loe
iBookG4 kasutaja
Originaalplakat- 27. juuni 2006
- Seattle, WA
- 20. september 2009
lee1210 ütles: Muutke argumendi tüübiks int[] või int *. Praegu on see lihtsalt int, nii et te ei saa kasutada [] jne. Sama kehtib ka printimise kohta. Samuti ei pea te toodangust ega trükist midagi tagastama. Muutke nende tagastustüüp kehtetuks.
Ma arvan, et teie eesmärk on printimisel tagasi helistada, mis peaks olema hea.
Samuti, kui edastate massiivi tootmiseks, kasutage massiivi, mitte *massiivi.
- Loe
See toimis
Kas sa tead, mida ta mõtles funktsioonide testimiseks koodi kirjutamisega? Mida ta sellega mõtleb? Ja suur aitäh senise abi eest!
Kood: |_+_|
chown33
Moderaator
Töötaja- 9. august 2009
- Kuristiku lennuk
- 20. september 2009
iBookG4user ütles: Kas sa tead, mida ta mõtles funktsioonide testimiseks koodi kirjutamisega? Mida ta sellega mõtleb?
Spetsifikatsioon ütles, et massiivi numbrid peaksid jääma 1 ja 10 vahele. Võiksite kirjutada testi, mis seda kinnitab.
Samuti öeldi, et numbrid peaksid olema juhuslikud. Kuigi juhuslikkust võib olla raskem testida, kui tundub, võib lihtsat mittejuhuslikkust olla lihtne testida. Lihtsaim on kinnitada, et kõik numbrid ei ole sama väärtusega. Keerulisemates juhuslikkuse testides kasutatakse statistilisi analüüse.
Teine test, mida saate kirjutada, on kinnitada, et funktsioon product() tagastab iga kord, kui seda kutsutakse, erinevad väärtused. See on lihtne statistilise analüüsi vorm, st tagab, et järjestikustel kutsetel on sõltumatud tulemused.
Samuti peaksite kaaluma massiivi initsialiseerimist teadaolevate kehtetute väärtustega, nagu -1 või 0, enne kui kutsute välja product(). Vastasel juhul võib initsialiseerimata kohalik massiiv juba sisaldada ettearvamatuid väärtusi, mida test võib tõlgendada juhuslikena, isegi kui product() ei tee midagi.
Täpsustuseks on töö kirjeldus mõnevõrra ebamäärane. Esiteks ei täpsustata, millised testid peab läbima. Uskuge mind, kui jätate kvalifikatsioonitestide valiku enamiku programmeerijate hooleks, on see suur viga. Kood võib töötada ainult ühel juhul, mida programmeerija kasutas koodi väljatöötamisel. Kui see tundub hull, võin teile kinnitada, et see on juhtunud.
iBookG4 kasutaja
Originaalplakat- 27. juuni 2006
- Seattle, WA
- 20. september 2009
See töötas hästi:
Kood: |_+_| S
Sander
juurde
- 24. aprill 2008
- 21. september 2009
iBookG4user ütles: See oli piisavalt lihtne, aitäh!
See töötas hästi:
Proovige panna oma massiivi 'kehtetu' number (näiteks 11) ja vaadake, kas see funktsioon tuvastab selle.
iBookG4 kasutaja
Originaalplakat- 27. juuni 2006
- Seattle, WA
- 21. september 2009
Sander ütles: Proovige panna oma massiivi 'kehtetu' number (näiteks 11) ja vaadake, kas see funktsioon tuvastab selle.
Seadistasin massiivi ajutiselt lubama numbreid, mis on suuremad kui 10, ja see tuvastas selle, aitäh S
Sander
juurde
- 24. aprill 2008
- 22. september 2009
iBookG4user ütles: Seadistasin massiivi ajutiselt lubama numbreid, mis on suuremad kui 10 ja see tuvastas selle, aitäh
Isegi kui see pole massiivi esimene element..?
Põhjus, miks ma seda küsin, on see, et teie funktsioon print() (vähemalt viimane selles lõimes näidatud versioon) tagastab ainult massiivi esimese elemendi (teisendatud kahekordseks).
Lemmik Postitused