[C++] числа

gani

Активный пользователь
Сообщения
3
Реакции
0
Баллы
231
Доброго всем времени суток. Учусь писать на си плюс плюс. Сейчас пишу морской бой, так вот, у меня есть двумерный массив типа char, я хочу в него внести поля игрока и противника для морского боя. Все нормально, но когда хочу отображать числа в столбик сбоку от самого поля (все внутри массива), приходится вводить не числа 1, 2, 3, и тд, а 49, 50, 51, и тд, то есть номера цифр в таблице ASCII. Вопрос: а как этого избежать, нельзя ли вводить в массив char значения типа int? или short?

Добрую кучу времени пытаюсь разобраться, не выходит
:confused:

пытался через функцию static_cast <char> (int a), не вышло, опять выводит смайлыыыы
 

Mistik

Активный пользователь
Сообщения
121
Реакции
161
Баллы
433
static_cast< int >( ch )
 

gani

Активный пользователь
Сообщения
3
Реакции
0
Баллы
231
В char не числа надо вводить, а символы, т.е. не 1,2,3, а '1','2','3'.
Спасибо большое))
про кавычки все время забываю и путаю одинарные с двойными(
А если я хочу не символ '1' ввести в массив, а скажем так:
int a = 1;
char massive [1] = 'a';

У меня не выходит :mda:
 
Последнее редактирование:

Techno

Ассоциация VN
Сообщения
876
Реакции
403
Баллы
443
Потому что a - это имя переменной, а не символ. В одинарных кавычках только символы, в двойных кавычках строки.

вот так должно работать char massive [1] = (char)a;
Но зачем это надо, почему бы сразу не сделать char a='1')))
 

gani

Активный пользователь
Сообщения
3
Реакции
0
Баллы
231
Потому что a - это имя переменной, а не символ. В одинарных кавычках только символы, в двойных кавычках строки.

вот так должно работать char massive [1] = (char)a;
Но зачем это надо, почему бы сразу не сделать char a='1')))
нуу просто у меня код немного сложнее..
for (int s = 2; s <11; s++) {

map [0] = s + 47;
map [14] = s + 47;
}
вот так сейчас выглядит.. думаю, вы поймете, почему не мог сразу сделать(
 

Techno

Ассоциация VN
Сообщения
876
Реакции
403
Баллы
443
думаю, вы поймете
Да что-то не особо понимаю)

Почему s с 2 начинается, а куда делись первые два элемента массива?
Что за +47?

Вообщем, если работаете с числами, то используйте тип int, в строку переводите только если требуется куда то вывести результат...
 
Сверху Снизу