Задать вопрос
VIKINGVyksa
@VIKINGVyksa
front-end developer

Как заполнить строку словами?

Есть какое-то слово, например "home".
Необходимо заполнить этим словом строку за определённое количество итераций (можите использовать не строки а массив char)

Я попробовал что-то накидать..но не работате тк. размер итераций больше чем символов в строке
string word = "home";
string result = "";
  for (int i = 0; i<19i++)
      {
         result += word[i];
       }


В итоге должно получиться типо этого
итераций 10
слово home
homehomeho - результат
За рание спасибо)
  • Вопрос задан
  • 508 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
ThePyzhov
@ThePyzhov
iOS Ninja
Копирует с нулевым символом.
strcpy(result, word);
Ответ написан
leto2015
@leto2015
Веб-разработчик
- Подумай что у тебя тут word[4]
- Вычисли (найди) конец строки.
- Проверь условие (а не конец ли строки)
- Если да, то по новой выводи символы.
за раннее пожалуйста)
Ответ написан
Olej
@Olej
инженер, программист, преподаватель
for( int i = 0; i < rep; i++ )
   result += word[ i % word.length() ];

Конечно, для эффективности word.length() лучше заранее вычислить в промежуточную переменную, но так вам, может быть, будет понятнее.

Лучше будет так:
for( uint i = 0; i < rep; i += word.length() )
   result += rep - i > word.length() ? word : word.substr( 0, rep - i );

Или, если хотите, так:
for( uint i = 0; i < rep / word.length(); i++ )
   result += word;
result += word.substr( 0, rep % word.length() );
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы