Задача: заполнение строки словом

Есть некоторая строка (слово, число), например «home». Необходимо заполнить этим словом строку (последовательно буквами этого слова) за определённое количество итераций.

Например: базовая строка — «home», требуемое число символов результата 11, результат: «homehomehom»

В этой задаче главным требованием должно быть: сделать это как можно больше разными способами! (задача то сама по себе совсем элементарная).

Решения:

Вот как это будет выглядеть при исполнении:

задача и решение, с++, практика программирования

Здесь показано несколько (5) вариантов решения для базовой строки в формате std::string. Но ещё много интересных вариантов может быть записано для строки в формате char[] (такой код будет даже проще для понимания).

P.S. В таком случае ваши функции вариантов (если вы хотите сохранить массив функций-обработчиков) могут иметь прототип:

Предлагайте следующие варианты!

Рассылка новых уроков по программированию:

Дата
Страница
Задача и решение: заполнение строки словом
Рейтинг
51star1star1star1star1star
Olej

Об авторе Olej

Стаж практических программных разработок около 40 лет. Преподаватель международной софтверной компании Global Logic. Постоянный автор публикаций IBM Developer Works. Научный редактор книжного издательства компьютерной литературы "Символ-Плюс", Санкт-Петербург.

Задача: заполнение строки словом: 3 комментария

  1. Наилучший по оптимальности из показанных будет rep4, но там выделение буфера (char buf[1000]) сделано с потолка и чисто для иллюстрации, легко его переполнить.
    Добавлю ещё 2 вариата в развитие этого способа:

  2. #include
    #include
    using namespace std;

    int main()
    {
    int a;
    cout<>a;
    int const BUFERSIZE=a;
    int bufer=0;
    string slovo;
    cout<>slovo;

    do
    {for(int i=0;i<slovo.size();i++)
    {
    if(bufer<BUFERSIZE)
    cout<<slovo[i];
    bufer++;
    }
    }while(bufer < BUFERSIZE);

    return 0;
    }

Добавить комментарий

Код размещайте в тегах: <pre class="lang:c++ decode:true ">YOUR CODE</pre>