6

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

a[0] = "first"; 
a[1] = "second"; 
a[2] = "third; 

बनाम:: वहाँ उस पर दो बार देखा होने लगते हैं

a[0] = "zeroth"; 
a[1] = "first"; 
a[2] = "second"; 

मैं हमेशा पहली प्राथमिकता दी, जानते हुए भी कि "एन-वें" तत्व "सूचकांक n-1 का तत्व है।" लेकिन मुझे आश्चर्य हुआ कि कितने लोगों ने काउंटर-अंतर्ज्ञानी पाया और बाद के संस्करण का उपयोग किया।

क्या उन सम्मेलनों में से एक दूसरे की तुलना में अधिक सही है? गलतफहमी से बचने के लिए मुझे किस चर्चा या दस्तावेज़ीकरण के दौरान उपयोग करना चाहिए?

+1

पहले बेस में कौन है। –

+1

* पहली वस्तु * * शून्य [वें] इंडेक्स * –

उत्तर

10

मुझे लगता है कि "first" शब्द का अंग्रेजी अर्थ स्पष्ट है, और अनुक्रम के प्रारंभिक तत्व को संदर्भित करता है। शुरुआती तत्व के उत्तराधिकारी को "पहला" होने के कारण बस गलत है।

ऐसे मामलों में जहां भ्रम हो सकता है, मैं कहूंगा "तीसरा तत्व, सूचकांक 2 पर"।

0

पहला वह है जिसे पहले ढेर से लिया जाता है।

5

तत्व सूचकांक काफी भाषा पर निर्भर है (जैसे C: 0, लुआ: 1), जबकि पांचवें तत्व पांचवें तत्व है, यह सिर्फ सूचकांक कि अलग हो सकता है है;)

मुझे लगता है कि इस तरह से एक जवाब बहुत फैल गया है ...

+0

द्वारा पहुंचा जा सकता है जब सरणी 1-आधारित :) कोई भ्रम नहीं है :)। – Kos

+0

मैंने भ्रम के बारे में बात नहीं की है। बस थोड़ा सा अंतर :)। किसी को * उपयोग * और * समझने वाली भाषाओं की विशिष्टताओं को समझना है। ;) –

3

कुछ भाषाओं में, जैसे पास्कल, आप स्पष्ट रूप से इंडेक्स की श्रेणी निर्दिष्ट कर सकते हैं। अर्थात

var stuff : array[-3..3] of integer; 

stuff[-3] अभी भी नकारात्मक तीसरे सरणी में पहला तत्व, नहीं है।

1

कोई भी जो कह रहा है 'ज़ीरोथ' वास्तव में शून्य-आधारित अनुक्रमण में विश्वास नहीं करना चाहिए।

+1

गणित अक्सर 1-आधारित के बजाय 0-आधारित सूचकांक चुनता है। पसंद प्रोग्रामिंग की तुलना में गणित में अधिक मनमानी है: कोडर लगभग हमेशा अंतर्निहित भाषा सुविधा/मानक लाइब्रेरी का उपयोग करते हैं, जबकि गणित में आप आमतौर पर स्क्रैच से अपनी शर्तों को परिभाषित करते हैं। – comingstorm

संबंधित मुद्दे