Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

หมายเลขคอลัมน์แผ่นงาน Excel ใน C++


เราทราบดีว่าหมายเลขคอลัมน์ excel เป็นตัวอักษร มันเริ่มต้นจาก A และหลังจาก Z มันจะเป็น AA, AB ถึง ZZ จากนั้นอีกครั้ง AAA, AAB ถึง ZZZ เป็นต้น ดังนั้นคอลัมน์ที่ 1 คือ A คอลัมน์ที่ 27 คือ Z ที่นี่เราจะดูวิธีรับตัวอักษรประจำคอลัมน์หากระบุจำนวนคอลัมน์ ดังนั้นหากหมายเลขคอลัมน์คือ 80 ก็จะเป็น CB

สมมติว่าเรามีตัวเลข n และค่าของมันคือ 28 เราต้องตั้งเตือนด้วย 26 หากเศษเหลือเป็น 0 ตัวเลขก็คือ 26, 52 เป็นต้น จากนั้นเราใส่ Z ลงในสตริงเอาต์พุต ค่าของ n จะกลายเป็น n/26 – 1 และถ้าเศษที่เหลือไม่ใช่ศูนย์ เราก็จำเป็นต้องแทรกอักขระตามนั้นลงในสตริงและทำ n =n/26 ในที่สุด ด้านหลังของสตริงจะถูกพิมพ์

ตัวอย่าง (C++)

#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 number: 700

ผลลัพธ์

Enter cell number:700
Cell name of 700 is: ZX