Я бы сначала определил строки символов, которые вы хотите отобразить
const char* LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const char* HEX = "0123456789ABCDEF";
А затем вы можете легко получить доступ к нужному символу, проиндексировав эти строки, по модулю их длины, например:
char c;
const int LETTERS_LEN = strlen(LETTERS);
for (int i = 0; i < N; i++) {
c = LETTERS[i % LETTERS_LEN];
// place c in your triangle
}
i % LETTERS_LEN
заставляет i
периодически принимать значения от 0
до LETTERS_LEN - 1
, что является именно тем, что вам нужно (если я правильно понимаю ваш пример).
Альтернативное решение будетиспользовать тот факт, что ASCII-код «A» равен 65, и вы можете просто сделать c = 65 + i % 26
, но решение, которое я написал, более универсально - вы можете определить любой набор символов, который захотите.
Примечание: Iнекоторое время я не использовал чистый C, возможно, я неправильно понял часть инициализации.Если вы получаете ошибки компиляции, просто используйте #define LETTERS "ABC..."