iBookG4kullanıcısı
Orijinal afiş- 27 Haz 2006
- Seattle, WA
- 20 Eylül 2009
'Bir diziyi 1 ile 10 arasında rastgele 25 sayı ile dolduracak bir fonksiyon yazın. Ardından diziyi yazdıracak bir fonksiyon yazın. İşlevlerinizi test etmek için ana koda bir kod yazın. Bazen bu test koduna *sürücü adı verilir.
Burada global değişkenler kullanmayın. Diziyi parametre listesi aracılığıyla işleve iletin'
Geçerli kodum, hata ayıklayıcıda herhangi bir hataya neden olmuyor, ancak dizinin çıktısını almıyor. Ve sürücüyü yazarak ne demek istediğini bilmiyorum, neyi test etmem gerekiyor? Hepiniz geçmişte fazlasıyla yardımcı olduğunuzu kanıtladınız ve eminim bu sefer beni doğru yöne yönlendirmeye yardım edeceksiniz.
Kod: |_+_|
Lee1210
- 10 Oca 2005
- Dallas, Teksas
- 20 Eylül 2009
Ayrıca, ve eminim ki bu dürüst bir hatadır, eminim profesörünüz şunu demek istemiştir. sözde rastgele.
Ayrıca, ana olarak, üretme ve yazdırmayı çağırmadan yeni çiftler () bildiriyorsunuz. Çifti oraya götürün ve yukarıda tartışıldığı gibi bir argüman iletin ve bunların her ikisinin de dönüş türünü geçersiz olarak değiştirin.
-Okumak
gnasher729
Askıya alındı
- 25 Kasım 2005
- 20 Eylül 2009
Ve 'üretmek' işlevine nasıl bir çağrı yazarsınız?
Ve 'ana' işlevinizin içine, ikisinden hangisini yazdınız, bir işlev prototipi mi yoksa bir işlev çağrısı mı?
iBookG4kullanıcısı
Orijinal afiş- 27 Haz 2006
- Seattle, WA
- 20 Eylül 2009
lee1210 şunları söyledi: Birkaç şey: Diziniz double[] değil int[] türünde olmalıdır. Üretmek ve yazdırmak için bir int dizisini kabul etmeniz gerekir. Main'de bir int[] tanımlamanız, üretime geçirmeniz, orada doldurmanız ve ardından yazdırmaya iletmeniz gerekir. NS<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.
Ayrıca, ve eminim ki bu dürüst bir hatadır, eminim profesörünüz şunu demek istemiştir. sözde rastgele.
Ayrıca, ana olarak, üretme ve yazdırmayı çağırmadan yeni çiftler () bildiriyorsunuz. Çifti oraya götürün ve yukarıda tartışıldığı gibi bir argüman iletin ve bunların her ikisinin de dönüş türünü geçersiz olarak değiştirin.
-Okumak
Tamam, önerdiğin değişiklikleri yaptım ve kod daha mantıklı görünüyor. Gerçi şimdi for döngülerinde üç hata alıyorum.
Kod: |_+_|
ekler
Lee1210
- 10 Oca 2005
- Dallas, Teksas
- 20 Eylül 2009
Bence amaç, baskıyı ana olarak geri çağırmanız, ki bu iyi olmalı.
Ayrıca, diziyi üretmek için ilettiğinizde, *array değil dizi kullanın.
-Okumak
iBookG4kullanıcısı
Orijinal afiş- 27 Haz 2006
- Seattle, WA
- 20 Eylül 2009
lee1210 şunları söyledi: Üretmenin bağımsız değişken türünü int[] veya int * olarak değiştirin. Şu anda sadece int olduğundan [] vb. kullanamazsınız. Aynısı baskı için de geçerlidir. Ayrıca, üretimden veya baskıdan herhangi bir şey iade etmenize gerek yoktur. Dönüş türlerini void olarak değiştirin.
Bence amaç, baskıyı ana olarak geri çağırmanız, ki bu iyi olmalı.
Ayrıca, diziyi üretmek için ilettiğinizde, *array değil dizi kullanın.
-Okumak
İşe yaradı
Şimdi, fonksiyonları test etmek için kod yazarak ne demek istediğini biliyor musunuz? Bununla ne demek istiyor? Ve şimdiye kadarki yardımlarınız için çok teşekkürler!
Kod: |_+_|
chown33
moderatör
Personel- 9 Ağu 2009
- Abismal Uçak
- 20 Eylül 2009
iBookG4user dedi ki: Şimdi, işlevleri test etmek için kodu yazarak ne demek istediğini biliyor musunuz? Bununla ne demek istiyor?
Spesifikasyon, dizideki sayıların 1 ile 10 arasında olması gerektiğini söyledi. Bunu doğrulayan bir test yazabilirsiniz.
Ayrıca sayıların rastgele olması gerektiğini söyledi. Rastgeleliği test etmek göründüğünden daha zor olsa da, rastgele olmayan basitliği test etmek kolay olabilir. En basiti, tüm sayıların aynı değerde olmadığını doğrulamaktır. Daha karmaşık rastgelelik testleri istatistiksel analizleri kullanır.
Yazabileceğiniz başka bir test, üret() işlevinin her çağrıldığında farklı değerler döndürdüğünü doğrulamaktır. Bu, istatistiksel analizin basit bir şeklidir, yani ardışık çağrıların bağımsız sonuçlara sahip olmasını sağlar.
Ayrıca, Produce()'ı çağırmadan önce diziyi -1 veya 0 gibi bilinen geçersiz değerlerle başlatmayı da düşünmelisiniz. Aksi takdirde, başlatılmamış bir yerel dizi zaten önceden tahmin edilemeyen değerler içerebilir ve bu değerler, üret() hiçbir şey yapmasa bile bir testin rastgele olarak yorumlayabilir.
Spesifikasyon olarak, çalışma ifadesi biraz belirsizdir. Birincisi, hangi testleri geçmesi gerektiğini belirtmiyor. İnanın bana, yeterlilik testlerini seçmeyi çoğu programcıya bırakırsanız, bu büyük bir hata olur. Kod yalnızca bir durumda çalışabilir; programcının kodu geliştirmek için kullandığı durum buydu. Bu çılgınca görünüyorsa, sizi temin ederim ki oldu.
iBookG4kullanıcısı
Orijinal afiş- 27 Haz 2006
- Seattle, WA
- 20 Eylül 2009
Bu bir tedavi çalıştı:
Kod: |_+_| S
zımpara
ile
- 24 Nis 2008
- 21 Eylül 2009
iBookG4user dedi ki: Bu yeterince basitti, teşekkürler!
Bu bir tedavi çalıştı:
Dizinize 'geçersiz' bir sayı koymaya çalışın (örneğin, 11) ve bu fonksiyonun bunu algılayıp algılamadığına bakın.
iBookG4kullanıcısı
Orijinal afiş- 27 Haz 2006
- Seattle, WA
- 21 Eylül 2009
Sander dedi ki: Dizinize 'geçersiz' bir sayı koymaya çalışın (örneğin, 11) ve bu fonksiyonun bunu algılayıp algılamadığına bakın.
Diziyi geçici olarak 10'dan büyük sayılara izin verecek şekilde ayarladım ve algıladı, teşekkürler S
zımpara
ile
- 24 Nis 2008
- 22 Eylül 2009
iBookG4user dedi ki: Diziyi geçici olarak 10'dan büyük sayılara izin verecek şekilde ayarladım ve bunu algıladı, teşekkürler
Dizideki ilk eleman olmasa bile..?
Sormamın nedeni, print() işlevinizin (en azından bu iş parçacığında gösterilen son sürüm) dizinin yalnızca ilk öğesini (çifte dönüştürülmüş) döndürmesidir.
Popüler Mesajlar