Петля для увеличения значения ASCII - PullRequest
0 голосов
/ 24 мая 2018

Я хочу изменить свой char на другой char, добавив число.

int n;
cin >> n;
str[i] = str[i]+n;

Проблема в том, что я хочу сделать это в цикле.к экзамену:

n = 4;str [i] = Y;ответ должен быть: C;Как я могу создать этот цикл?

Ответы [ 2 ]

0 голосов
/ 29 июля 2019

Вы можете присвоить 0 для A 1 для B и аналогично

int a=s[i]-'A'

теперь вы можете добавить n к нему и найти его мод с 26 (без алфавитов) y равен 24 n = 4 тогда (24+4)% 26 = 2, поэтому мы можем видеть 3 - это C, код -

for(int i=0;i<l;i++){
int a=s[i]-'A';
a=(a+n)%n;
s[i]=(char)(a+65);//ascii value
}  
0 голосов
/ 24 мая 2018

вы можете делать что хотите с %

str[i] = (str[i] - 'A' + n) % 26 + 'A';

26, потому что в алфавите 26 букв

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...