Тема: Вставити підрядок у рядок.) Допоможіть будь ласка.. с++
Дано рядок та підрядок. Вставити вказаний підрядок у початковий ря- док через 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
Для відправлення відповіді ви повинні увійти або зареєструватися