В таблице Excel мы имеем каждую ячейку, обозначенную ее строкой и столбцом, либо в формате R1C1, либо в формате A1.Преобразование формата R1C1 в формат A1
Формат R1C1 указывает номер строки и номер столбца. Например, R23C55 означает строку 23 и столбец 55.
В формате A1 каждому столбцу предоставляется код на основе перестановок алфавита. Рассмотрим первые 26 столбцов, каждый из которых называется A от Z. Следующий столбец (т.е. 27-й столбец) будет AA, AB, AC и так далее. Например, BC23 будет означать столбец BC, который является 55-м столбцом и строкой 23, который, конечно же, является 23-й строкой.
Мне нужно преобразовать входной сигнал формы R1C1 в выходной сигнал формы A1. Например, R23C55 будет BC23, где BC - соответствующий выход для 55.
Я сделал код для преобразования данного номера столбца в его формат A1.
#include <stdio.h>
#include <string.h>
int main()
{
int column,temp,i=0;
char col[5];
scanf("%d",&column);
temp=column;
while(temp!=0)
{
if(temp%26==0)
{
col[i]='Z';
i++;
}
else
{
col[i]=(temp%26)-1+'A';
i++;
}
temp=(temp-1)/26;
}
col[i]='\0';
strrev(col);
puts(col);
return 0;
}
Я могу преобразовать входной номер 55 в его выход BC. Но я не могу продолжить код для преобразования R23C55 в BC23. Как взять вход R23C55, извлечь номера 23 и 55 и вывести вывод формы BC23?
Я думаю, что вам будет нужно дать немного больше деталей. – nana
Я не понимаю, какие правила преобразования вы указываете! Можете ли вы дать больше информации? –
@SergioFormiggini: думаю Excel. R1C1 = числовые, 1-основанные индексы для строк и столбцов; A1 = одна или две буквы для столбцов (A-> Z, AA-AZ, BA-> BZ ..., ZA-> ZZ), индекс на 1 для строк. –