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이 됩니다. 그리고 나머지가 0이 아니면 문자열에 그에 따라 문자를 삽입하고 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