@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
  • Вопрос задан
  • 1150 просмотров
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Руками. Циклом на x_len-2 итераций. Раз у вас там, судя по коду, есть обрамление, то лучше гнать цикл с 1.
for (int j = 1; j < x_len-1; ++j) {
  map[i][j] = ' ';
}


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

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

Похожие вопросы
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час
21 нояб. 2024, в 21:42
100000 руб./за проект