यह एक बहुत ही आसान और सामान्य अभ्यास है हालांकि मैं एक त्रुटि में आ रहा हूं जिसे मैं समझ नहीं पा रहा हूं और मुझे कहीं भी स्पष्टीकरण नहीं मिल रहा है क्योंकि यह बहुत विशिष्ट हो सकता है।सरणी में सबसे बड़ा और सबसे छोटा मूल्य क्रमबद्ध करना सी ++
कार्यक्रम उपयोगकर्ता को यह इंगित करने के लिए प्रेरित करता है कि व्यक्ति 1 से 10 तक कितने पेनकेक्स खाए जाते हैं और फिर प्रिंट करते हैं कि किसी के द्वारा खाए जाने वाले पेनकेक्स की सबसे बड़ी संख्या क्या है। मेरी समस्या यह है कि "हाथ से बना लूप" सबसे बड़ा और सबसे छोटा मूल्य काम करने के लिए हल करता है लेकिन एल्गोरिदम (जिसे हाथ से बने लूप के बजाय उपयोग करने के लिए इस मंच पर अत्यधिक अनुशंसा की जाती है) सही सबसे बड़ा प्रिंट नहीं करता है मान, लेकिन के लिए सबसे छोटे के लिए काम करता है। यहाँ
void pancakes() {
int pan[11];
int small, big;
for (int i = 1; i < 11; i++) // counts to 11-1 and prompts user for pancakes
// eaten by person 1==>10
{
cout << "How many pancakes did person " << i << " eat?\n";
cin >> pan[i];
}
big = small = pan[1]; // assigns element to be highest or lowest value
for (int i = 1; i < 11; i++) {
if (pan[i] > big) // compare biggest value with current "big" element
{
big = pan[i];
}
if (pan[i] < small) // compares smallest value with current "small" element
{
small = pan[i];
}
}
cout << "The person who ate the most pancakes ate " << big << " of them."
<< endl; // prints biggest value
cout << "The person who ate the least pancakes ate " << small << " of them."
<< endl; // prints smallest value
auto minmax = minmax_element(begin(pan), end(pan));
cout << "min element " << *(minmax.first) << "\n";
cout << "max element " << *(minmax.second) << "\n";
}
और क्या सांत्वना रिटर्न दिया गया है::
यहाँ मेरी कोड है
How many pancakes did person 1 eat?
45
How many pancakes did person 2 eat?
64
How many pancakes did person 3 eat?
7
How many pancakes did person 4 eat?
34
How many pancakes did person 5 eat?
87
How many pancakes did person 6 eat?
45
How many pancakes did person 7 eat?
89
How many pancakes did person 8 eat?
32
How many pancakes did person 9 eat?
55
How many pancakes did person 10 eat?
66
The person who ate the most pancakes ate 89 of them.
The person who ate the least pancakes ate 7 of them.
min element 7
max element 1606416304
आह मैं देखता हूं! लेकिन वास्तव में कारण मैं 'पैन [0]' शुरू नहीं करता हूं क्योंकि मैं यह नहीं कहना चाहता कि व्यक्ति 0 द्वारा कितने पेनकेक्स खाए गए हैं। क्या व्यावहारिक कारणों से मैंने सरणी के साथ क्या करने की अनुमति नहीं दी है? –
आपको अपने प्रिंट स्टेटमेंट में व्यक्ति 0 के लिए संकेत नहीं देना है, आप '<< i << 'से' << i + 1 <<' – Eddge
बदल सकते हैं हां, अब मैं समझता हूं, मैं 'पैन से शुरू करूंगा [0] 'और' i + 1' बहुत कुछ धन्यवाद! –