Заменить ноль в 2D массиве пробелом

0

Если у меня есть 2D-массив, который имеет значения в определенных индексах и имеет 0 в другом. Как преобразовать 0 в пустое пространство. Я попробовал a[i][j] = ' ', но потом он печатает значение ASCII 32, я думаю.

Теги:
arrays

2 ответа

0
Лучший ответ
for (int i=0;i<r;i++)
    for (int j=0;j<c;j++)
        if (a[i][j]==' ')
            cout << (char)a[i][j];
        else
            cout << a[i][j];
  • 0
    ОП хотел заменить 0 пробелом. Этот код печатает пробел вместо 32.
  • 0
    -1 Это печатает пробел вместо 32, что является значимым значением.
Показать ещё 1 комментарий
0

Я думаю, что вы печатаете значение каждого появления массива, и слишком много 0 ушибают лизификацию, поэтому вы предпочитаете отображать "вместо" 0. Не зная больше о вашей разработке, я предполагаю, что наилучшим решением является к нему, когда вы показываете результат:

if (a[i][j] == 0) {
  cout << ' ';
}
else {
 cout << a[i][j];
}

Если вы используете MVC, то ваша модель все равно должна быть 0, но ваше представление должно отображать пробел.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню