এক্সেল কলাম নম্বরগুলো অ্যালফাবেটিক (alphabetic)। এ শুরু হয় A থেকে, Z পোরПосле AA, AB, ZZ পর্যন্ত, আবার AAA, AAB, ZZZ এবং এভাবে চলে। কলাম ১ হলো A, কলাম ২৭ হলো Z। এখানে কলাম নম্বর দিয়ে কলামের অক্ষর (letter) বের করা শিখব। কলাম নম্বর ৮০ হলে CB হবে।
ধরে নিচ্ছি n = 28। ২৬ দিয়ে ভাগ করলে বাকি (remainder) ২। যদি বাকি ০ হয়, তবে সংখ্যা ২৬, ৫২ ইত্যাদি। তখন আউটপুট স্ট্রিং-এ Z যোগ করা। n = n/26 - 1 হয়। আর যদি বাকি শূন্য না হয়, তবে відповuitse অক্ষর স্ট্রিং-এ যোগ করে n = n/26 করা। अन्तে স্ট্রিংটি রিভার্স (reverse) করে প্রিন্ট করা।
উদাহরণ
#include<iostream> #include<algorithm> using namespace std; void showColumnLetters(int n) { string str = ""; while (n) { int rem = n%26; if (rem==0) { str += 'Z'; n = (n/26)-1; } else{ str += (rem-1) + 'A'; n = n/26; } } reverse(str.begin(), str.begin() + str.length()); cout << str << endl; } int main() { int n = 700; cout << "Cell name of " << n << " is: "; showColumnLetters(700); } আউটপুট
Cell name of 700 is: ZX