Тема: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++
Дано рядок та підрядок. Вставити вказаний підрядок у початковий ря- док через 2, 4, 8 … символів.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Вставити підрядок у рядок.) Допоможіть будь ласка.. с++
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Дано рядок та підрядок. Вставити вказаний підрядок у початковий ря- док через 2, 4, 8 … символів.
#include <string>
#include <iostream>
using namespace std;
int main(){
    size_t i, j; 
    string srow = "1234567890123456789";
    string ssub = "<sub text>";
    string sout;
    cout<<"text row : "<<srow<<endl;
    cout<<"text sub : "<<ssub<<endl;
    for( j = 2 + (i = 0); i < srow.size(); i++ )
    {
        if( i == j )
        {
            j = j * 2;
            sout += ssub;
        }
        sout += srow[i];
    }
    cout<<"text out : "<<sout<<endl;
    return 0;
}Перевірка тут http://codepad.org/ZEjN0Y0u
text row : 1234567890123456789
text sub : <sub text>
text out : 12<sub text>34<sub text>5678<sub text>90123456<sub text>789
sn7770666k, я вже писав тобі у приватних меседжах що майже на 200% певен що збирати пробуєш у якомусь раритеті накшталт borlandC 3.0(це IDE початку 90-х років(!), там щоб плюси "бралися" надо провести налаштування, проте це ніколи ніхто не знає, а у мене просто часу бракує розписувати де що натискати. Тому ось тобі консоль у С-стилі, яка піда на любому лінкері. 
#include <stdio.h>
#include <string.h>
 
int main(){
    int i, j, k, size, count; 
    const char srow[] = "1234567890123456789";
    const char ssub[] = "<sub text>";
    char sout[4096]   = {0};
    printf("text row : %s\n", srow);
    printf("text sub : %s\n", ssub);
    size = strlen(srow);
    count= strlen(ssub);
    for( i = 0, j = 2, k = 0; i < size; i++, k++ )
    {
        if( i == j )
        {
            j = j * 2;
            strcpy(&sout[k], ssub);
            k = k + count;
        }
        sout[k] = srow[i];
    }
    printf("text out : %s\n", sout);
    return 0;
}text row : 1234567890123456789
text sub : <sub text>
text out : 12<sub text>34<sub text>5678<sub text>90123456<sub text>789
дуже дякую.) вибач що відволікаю.) все працює.) 
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися