1 Востаннє редагувалося sn7770666k (05.05.2016 18:48:29)

Тема: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++

Дано рядок та підрядок. Вставити вказаний підрядок у початковий ря- док через 2, 4, 8 … символів.

2

Re: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++

#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

Подякували: sn7770666k1

3 Востаннє редагувалося -=ЮрА=- (05.05.2016 20:05:35)

Re: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++

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;
}

http://codepad.org/2ZLegHhm

text row : 1234567890123456789
text sub : <sub text>
text out : 12<sub text>34<sub text>5678<sub text>90123456<sub text>789

Прихований текст
PS: Спробуй трішки почитати а не "йти на все готове", воно для твого майбутньго як прогера буде корисніше.
Подякували: sn7770666k1

4

Re: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++

дуже дякую.) вибач що відволікаю.) все працює.) *THUMBSUP*