@guguguguop

Как «умножить» строку в си?

Есть двумерный массив map[ry][rx] - ry, rx это числа, которые вписывает пользователь.
Нужно продублировать символ пробела rx раз. Как это сделать? Пробелы должны быть в одну строчку.
for (i=0;i<y_len-1;i++) {
    sprintf(map[i], "#%s#", x_len-2);
}

в sprintf() между # # нужно напечатать столько пробелов, сколько в x_len: длина массива по x
  • Вопрос задан
  • 682 просмотра
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Руками. Циклом на x_len-2 итераций. Раз у вас там, судя по коду, есть обрамление, то лучше гнать цикл с 1.
for (int j = 1; j < x_len-1; ++j) {
  map[i][j] = ' ';
}


Еще, конечно, можно извратиться с memset, но лучше ненадо. Это тяжело читать и можно налажать запросто.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы