अन्य

मैक सी ++ सरणी और यादृच्छिक संख्या

iBookG4उपयोगकर्ता

मूल पोस्टर
जून 27, 2006
सिएटल, डब्ल्यूए
  • सितम्बर 20, 2009
वे मेरे कॉलेज में सबसे असुविधाजनक समय पर सी ++ के लिए ट्यूटर्स डालते हैं ... वैसे भी, प्रशिक्षक ने निम्नलिखित निर्देश पोस्ट किए:

'एक फ़ंक्शन लिखें जो 1 और 10 के बीच 25 यादृच्छिक संख्याओं के साथ एक सरणी भर देगा। फिर एक फ़ंक्शन लिखें जो सरणी को प्रिंट करेगा। अपने कार्यों का परीक्षण करने के लिए मुख्य रूप से कुछ कोड लिखें। कभी-कभी इस परीक्षण कोड को *चालक . कहा जाता है

यहां वैश्विक चर का प्रयोग न करें। पैरामीटर सूची के माध्यम से सरणी को फ़ंक्शन में पास करें'

मेरा वर्तमान कोड किसी भी त्रुटि में परिणाम नहीं देता है जिसमें वह डीबगर करता है, लेकिन यह सरणी को आउटपुट नहीं करता है। और मुझे नहीं पता कि ड्राइवर को लिखने से उसका क्या मतलब है, मुझे क्या परीक्षण करना चाहिए? आप सभी अतीत में बहुत मददगार साबित हुए हैं और मुझे यकीन है कि आप इस बार मुझे सही दिशा में इंगित करने में मदद करेंगे।

कोड: |_+_|

ली1210

जनवरी 10, 2005


डलास, TX
  • सितम्बर 20, 2009
कुछ चीजें: आपकी सरणी प्रकार int [] होनी चाहिए, डबल नहीं []। उत्पादन और प्रिंट करने के लिए आपको एक int सरणी स्वीकार करने की आवश्यकता है। आपको मुख्य रूप से एक int [] घोषित करने की आवश्यकता है, इसे उत्पादन के लिए पास करें, इसे वहां भरें, फिर इसे प्रिंट करने के लिए पास करें। NS<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

इसके अलावा, और मुझे यकीन है कि यह एक ईमानदार गलती है, मुझे यकीन है कि आपके प्रोफेसर का मतलब था झूठा यादृच्छिक रूप से।

साथ ही, मुख्य रूप से, आप नए डबल () एस घोषित कर रहे हैं, उपज और प्रिंट का आह्वान नहीं कर रहे हैं। डबल को वहां ले जाएं, और ऊपर चर्चा के अनुसार एक तर्क में पास करें, और इन दोनों के रिटर्न प्रकार को शून्य में बदलें।

-पढ़ना

gnasher729

निलंबित
25 नवंबर, 2005
  • सितम्बर 20, 2009
आप 'उत्पादन' फ़ंक्शन के लिए फ़ंक्शन प्रोटोटाइप कैसे लिखेंगे?
और आप 'उत्पादन' फ़ंक्शन के लिए कॉल कैसे लिखेंगे?

और आपके 'मेन' ​​फंक्शन के अंदर आपने दोनों में से कौन सा फंक्शन प्रोटोटाइप या फंक्शन कॉल लिखा है?

iBookG4उपयोगकर्ता

मूल पोस्टर
जून 27, 2006
सिएटल, डब्ल्यूए
  • सितम्बर 20, 2009
lee1210 ने कहा: कुछ चीजें: आपकी सरणी प्रकार int [] होनी चाहिए, डबल नहीं []। उत्पादन और प्रिंट करने के लिए आपको एक int सरणी स्वीकार करने की आवश्यकता है। आपको मुख्य रूप से एक int [] घोषित करने की आवश्यकता है, इसे उत्पादन के लिए पास करें, इसे वहां भरें, फिर इसे प्रिंट करने के लिए पास करें। NS<< operator of ofstream does not deal with arrays as you'd hope, so you'll need to loop to display in print.

इसके अलावा, और मुझे यकीन है कि यह एक ईमानदार गलती है, मुझे यकीन है कि आपके प्रोफेसर का मतलब था झूठा यादृच्छिक रूप से।

साथ ही, मुख्य रूप से, आप नए डबल () एस घोषित कर रहे हैं, उपज और प्रिंट का आह्वान नहीं कर रहे हैं। डबल को वहां ले जाएं, और ऊपर चर्चा के अनुसार एक तर्क में पास करें, और इन दोनों के रिटर्न प्रकार को शून्य में बदलें।

-पढ़ना

ठीक है, मैंने आपके द्वारा सुझाए गए परिवर्तन किए हैं और कोड अधिक तार्किक दिखता है। हालांकि अब मुझे लूप के लिए तीन त्रुटियां मिल रही हैं।

कोड: |_+_|

संलग्नक

  • स्क्रीन शॉट 2009-09-20 अपराह्न 5.42.31 बजे.png स्क्रीन शॉट 2009-09-20 अपराह्न 5.42.31 बजे.png'file-meta'> 178.1 KB · दृश्य: 1,941

ली1210

जनवरी 10, 2005
डलास, TX
  • सितम्बर 20, 2009
उत्पादन के तर्क प्रकार को int[] या int * में बदलें। अभी यह सिर्फ int है, इसलिए आप [], आदि का उपयोग नहीं कर सकते। वही प्रिंट के लिए जाता है। इसके अलावा, आपको उपज या प्रिंट से कुछ भी वापस करने की आवश्यकता नहीं है। उनके वापसी प्रकार को शून्य में बदलें।

मुझे लगता है कि आपके लिए मुख्य रूप से प्रिंट बैक कॉल करने का इरादा है, जो ठीक होना चाहिए।

साथ ही, जब आप उत्पादन करने के लिए सरणी पास करते हैं, तो केवल सरणी नहीं * सरणी का उपयोग करें।

-पढ़ना

iBookG4उपयोगकर्ता

मूल पोस्टर
जून 27, 2006
सिएटल, डब्ल्यूए
  • सितम्बर 20, 2009
lee1210 ने कहा: तर्क प्रकार के उत्पादन को int [] या int * में बदलें। अभी यह सिर्फ int है, इसलिए आप [], आदि का उपयोग नहीं कर सकते। वही प्रिंट के लिए जाता है। इसके अलावा, आपको उपज या प्रिंट से कुछ भी वापस करने की आवश्यकता नहीं है। उनके वापसी प्रकार को शून्य में बदलें।

मुझे लगता है कि आपके लिए मुख्य रूप से प्रिंट बैक कॉल करने का इरादा है, जो ठीक होना चाहिए।

साथ ही, जब आप उत्पादन करने के लिए सरणी पास करते हैं, तो केवल सरणी नहीं * सरणी का उपयोग करें।

-पढ़ना

वो कर गया काम
अब, क्या आप जानते हैं कि कार्यों का परीक्षण करने के लिए कोड लिखने का उनका क्या मतलब था? उससे उसका क्या मतलब है? और अब तक आपकी मदद के लिए बहुत बहुत धन्यवाद!

कोड: |_+_|

chown33

मध्यस्थ
स्टाफ के सदस्य
अगस्त 9, 2009
अबाध विमान
  • सितम्बर 20, 2009
iBookG4user ने कहा: अब, क्या आप जानते हैं कि कार्यों का परीक्षण करने के लिए कोड लिखने का उनका क्या मतलब था? उससे उसका क्या मतलब है?

विनिर्देश ने कहा कि सरणी में संख्या 1 और 10 के बीच होनी चाहिए। आप एक परीक्षण लिख सकते हैं जो इसकी पुष्टि करता है।

यह भी कहा कि संख्या यादृच्छिक होनी चाहिए। जबकि यादृच्छिकता का परीक्षण करना जितना कठिन लगता है, उससे अधिक कठिन हो सकता है, सरल गैर-यादृच्छिकता का परीक्षण करना आसान हो सकता है। सबसे आसान यह पुष्टि करना है कि सभी संख्याएं समान मान नहीं हैं। यादृच्छिकता के अधिक जटिल परीक्षण सांख्यिकीय विश्लेषण का उपयोग करते हैं।

एक और परीक्षण जो आप लिख सकते हैं वह यह पुष्टि करना है कि उत्पादन () फ़ंक्शन हर बार कॉल किए जाने पर अलग-अलग मान देता है। यह सांख्यिकीय विश्लेषण का एक सरल रूप है, यानी यह सुनिश्चित करना कि लगातार आह्वानों के स्वतंत्र परिणाम हों।

आपको उत्पादन() को कॉल करने से पहले ज्ञात अमान्य मानों, जैसे -1 या 0 के साथ सरणी प्रारंभ करने पर भी विचार करना चाहिए। अन्यथा एक प्रारंभिक स्थानीय सरणी में पहले से ही अप्रत्याशित मान हो सकते हैं, जो एक परीक्षण यादृच्छिक के रूप में व्याख्या कर सकता है, भले ही उत्पादन() कुछ भी न करे।

एक विनिर्देश के रूप में, कार्य का विवरण कुछ अस्पष्ट है। एक बात के लिए, यह निर्दिष्ट नहीं करता है कि उसे कौन से परीक्षण पास करने हैं। मेरा विश्वास करें, यदि आप योग्यता परीक्षणों को चुनने के लिए इसे अधिकांश प्रोग्रामर पर छोड़ देते हैं, तो यह एक बड़ी गलती है। कोड केवल एक मामले में काम कर सकता है, जो कि प्रोग्रामर कोड को विकसित करने के लिए उपयोग करता था। अगर वह पागल लगता है, तो मैं आपको आश्वस्त कर सकता हूं कि ऐसा हुआ है।

iBookG4उपयोगकर्ता

मूल पोस्टर
जून 27, 2006
सिएटल, डब्ल्यूए
  • सितम्बर 20, 2009
वह काफी आसान था, धन्यवाद!
इसने एक इलाज किया:
कोड: |_+_| एस

सैंडर

प्रति
24 अप्रैल 2008
  • सितम्बर 21, 2009
iBookG4user ने कहा: यह काफी आसान था, धन्यवाद!
इसने एक इलाज किया:

अपनी सरणी में 'अमान्य' संख्या डालने का प्रयास करें (कहें, 11) और देखें कि यह फ़ंक्शन इसका पता लगाता है या नहीं।

iBookG4उपयोगकर्ता

मूल पोस्टर
जून 27, 2006
सिएटल, डब्ल्यूए
  • सितम्बर 21, 2009
सैंडर ने कहा: अपने सरणी में 'अमान्य' संख्या डालने का प्रयास करें (कहें, 11) और देखें कि यह फ़ंक्शन इसका पता लगाता है या नहीं।

मैंने अस्थायी रूप से सरणी को 10 से बड़ी संख्या की अनुमति देने के लिए सेट किया है और इसने इसका पता लगाया है, धन्यवाद एस

सैंडर

प्रति
24 अप्रैल 2008
  • 22 सितंबर 2009
iBookG4user ने कहा: मैंने अस्थायी रूप से सरणी को 10 से बड़ी संख्या की अनुमति देने के लिए सेट किया है और इसने इसका पता लगाया, धन्यवाद

भले ही यह सरणी में पहला तत्व न हो ..?

कारण मैं पूछ रहा हूं क्योंकि आपका प्रिंट() फ़ंक्शन (कम से कम इस धागे में दिखाया गया अंतिम संस्करण) केवल सरणी का पहला तत्व देता है (एक डबल में परिवर्तित)।