Форум программистов, компьютерный форум CyberForum.ru

Перевести число в эквивалентное обозначение буквами - C++

Восстановить пароль Регистрация
 
Asker
114 / 102 / 11
Регистрация: 18.12.2010
Сообщений: 378
19.06.2013, 12:02     Перевести число в эквивалентное обозначение буквами #1
Помогите, пожалуйста!

Дано натуральное число N, нужно вывести название столбца (как в Excel), который бы имел номер N, т.е.
если N = 1, вывести A
если N = 2, вывести B
если N = 3, вывести C
...
если N = 26, вывести Z
если N = 27, вывести AA
если N = 28, вывести AB и т.д.

Я пытался написать эту программу:
C++
1
2
3
4
5
6
7
8
9
int n;
int j = 0;
int st[6] = {1, 26, 676, 17576, 456976, 11881376}; // Степени с осн. 26
while (n/st[j] > 0) j++;
for (int i=j-1; i>=0; i--)
{
    cout << (char((n/st[i])+'A' - 1));
    n%=st[i];
}
, но он неправильно работает со значениями, кратными 26; т.е. если ввести 26, вместо Z программа выдаёт A@ (потому что остаток от деления 26 на 26 равен нулю). Как это можно исправить (или по другому написать)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2013, 12:02     Перевести число в эквивалентное обозначение буквами
Посмотрите здесь:

Перевести число из десятичной в двоичную C++
C++ Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами
C++ Определить число вхождений в строку подстроки "аба", вывести символы строки, не являющейся буквами или цифрами
C++ Написать и протестировать функцию, которая преобразует строку шестнадцатеричных цифр в эквивалентное ей целое десятичное число
C++ Число символов строке не являющихся ни буквами, ни цифрами
C++ Записать целое число буквами (можно ли упростить код?)
Вывести эквивалентное инфиксное выражение и вставить левые скобки C++
Написать и протестировать функцию , которая преобразует строку двоичных цифр в эквивалентное ей целое число C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 08:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru