इसके बारे में लगता है कि इस तरह से कुछ:
आप एक सरणी है कि एक 1 आयामी सरणी, जो वास्तव में, बस आइटम की एक लंबी संयोजन है होने वाला है एक दो आयामी सरणी का।
तो, कहें कि आपके पास आकार 5 x 3 (5 पंक्तियां, 3 कॉलम) की दो आयामी सरणी है। और हम एक आयामी सरणी बनाना चाहते हैं। आपको यह तय करने की ज़रूरत है कि क्या आप पंक्तियों या स्तंभों से जोड़ना चाहते हैं, इस उदाहरण के लिए हम कहेंगे कि संगतता पंक्तियों से है। इसलिए, प्रत्येक पंक्ति 3 कॉलम लंबी होती है, इसलिए आपको अपने एक-आयामी सरणी को 3 के "चरणों" में परिभाषित करने की आवश्यकता होती है। इसलिए, आपके एक आयामी सरणी की लंबाई 5 x 3 = 15 होगी, और अब आप पहुंच बिंदु खोजने की जरूरत है।
तो, कहें कि आप दूसरी पंक्ति और अपने दो आयामी सरणी के दूसरे कॉलम तक पहुंच रहे हैं, फिर यह 3 चरणों (पहली पंक्ति) + दूसरी पंक्ति में चरणों की संख्या, या 3 + 2 = 5. जब से हम शून्य आधारित अनुक्रमण कि है -1 कर रहे हैं, ताकि विशिष्ट तैयार करने के लिए 4.
अब सूचकांक में होगा:,
int oneDindex = (row * length_of_row) + column; // Indexes
तो तुम ऊपर का एक उदाहरण हवा के रूप में
oneDindex = (1 * 3) + 1
और यह
मैं विश्वास नहीं कर सकता मैं नहीं मिला है कि lol ... मैं था (मैं * 4) + (i * 8) कोई आश्चर्य नहीं कि यह सीमा से बाहर था, धन्यवाद! – Becky
आपका बहुत स्वागत है। मुझे हाल ही में एक टिक टैक पैर गेम के साथ एक ही चीज़ करना था जो सीखता है। एक ही सूचकांक के रूप में पिछले कदमों को संग्रहीत करना दक्षता में सुधार की दिशा में एक कदम था। –
मैं हमेशा इस उत्तर में वापस आ रहा हूं, किसी कारण से मुझे इस समीकरण 'इंडेक्स = एक्स + वाई * num_cols को याद रखने का कोई तरीका नहीं मिल रहा है;' यह जोड़ना अच्छा होगा कि हम इसे कैसे घटाते हैं! – vexe