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

โปรแกรม C++ หาหมายเลขคอลัมน์ Excel จากชื่อคอลัมน์

เรารู้ว่าหมายเลขคอลัมน์ 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 สุดท้ายพิมพ์สตริงย้อนกลับ

ตัวอย่าง

#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