#include <stdio.h>
#define NUMBER 20
#define OPTION 6
void main ()
{
int optionList[NUMBER]=
{4,4,5,2,1,3,1,0,4,3,3,1,2,5,4,2,3,4,3,1};
int count[OPTION] = { 0 } ;
for (int i = 0; i <= NUMBER-1; i++)
++count[optionList[i]];
}
मुझे समझ में नहीं आता ++गिनती[विकल्प सूची[i]]। क्या यह सरणी 'गिनती' और 'विकल्प सूची' दोनों के लिए लूप वृद्धि है? यह कैसे काम करता है?
2 जवाब
optionList
- 20 तत्वों की एक सरणी है
count
- ६ तत्वों की एक सरणी है
for
लूप i = 0
से लेकर i = 20 - 1 = 19
तक पुनरावृति करता है।
प्रत्येक पुनरावृत्ति चरण में यह ++count[optionList[i]];
निष्पादित करता है
आइए चरण दर चरण i=3 के लिए ++count[optionList[i]];
की गणना करें: सबसे पहले हम optionList[i]
को देखते हैं, इसलिए हम optionList
से i-वें तत्व लेते हैं। optionList
से तीसरा तत्व (0 से गिनना शुरू करना) 2 है। तो ++count[optionList[i]]
का मूल्यांकन ++count[2]
होता है। ++value
का अर्थ है value
के पीछे के मान को एक-एक करके बढ़ाना। ++count[2]
का अर्थ है कि count
से दूसरा तत्व एक से बढ़ गया है। तो ++count[optionList[i]];
सरणी count
को क्रियान्वित करने के बाद अब ऐसा दिखता है: {0, 0, 1, 0, 0, 0}
(यदि यह पहले {0, 0, 0, 0, 0, 0}
जैसा दिखता था)
निष्कर्ष
optionList
को सूचकांकों की एक सरणी के रूप में देखें। लूप प्रत्येक इंडेक्स पर optionList
से count
बढ़ाता है।
आप इस बारे में "अंदर से बाहर" तरीके से सोचते हैं, optionList[i]
का मूल्यांकन पहले किया जाता है। यह optionList[i]
पर मान लौटाता है
उदा) यदि i = 0
, optionList[i] = 4
फिर count[{value}]
का मूल्यांकन किया जाता है।
पूर्व) यदि i = 0
, optionList[i] = 4
। इस मामले में count[optionList[i]]
count[4]
के समान है।
तो count
सरणी में चौथा स्थान फिर उपसर्ग ++
से बढ़ जाता है। लूप अनिवार्य रूप से जाता है और count
सरणी के मान को optionList[i]
द्वारा निर्दिष्ट प्रत्येक स्थान पर बढ़ाता है।
संबंधित सवाल
नए सवाल
arrays
एक सरणी एक आदेशित रैखिक डेटा संरचना है जिसमें तत्वों (मूल्यों, चर, या संदर्भों) का एक संग्रह होता है, प्रत्येक को एक या अधिक अनुक्रमित द्वारा पहचाना जाता है। जब सरणियों के विशिष्ट प्रकारों के बारे में पूछा जाता है, तो इसके बजाय इन संबंधित टैगों का उपयोग करें: [वेक्टर], [सरणी सूची], [मैट्रिक्स]। इस टैग का उपयोग करते समय, एक सवाल जो प्रोग्रामिंग भाषा के लिए विशिष्ट होता है, उस प्रश्न को उस प्रोग्रामिंग भाषा के साथ टैग करें जिसका उपयोग किया जा रहा है।