1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

C++ Удвоить Все Найденные Вхождения Строки В Текст

Тема в разделе "C/C++/C#", создана пользователем prettynetty, 16 июл 2012.

Статус темы:
Закрыта.
  1. prettynetty

    prettynetty Гость

    Репутация:
    0
    c++ visual
    Задание: дан текст и строка. удвойте все найденные вхождения строки.
    насколько я понимаю, если ввести текст "мама мыла раму" и строку"мыла", то должно получиться "мама мыламыла раму".
    прочитала тут про функцию Pos, пытаюсь ее применить, но компилятор ругается. может эта функция только для билдера? помогите решить задачку хоть как нибудь.
    доп.условие: ввод и вывод русского текста
    <!--shcode--><pre><code class='SELECT AnyThing FROM SomeThing'>#include<stdio.h>
    #include<windows.h>
    #include<string.h>
    #include<conio.h>


    int main()
    {
    SetConsoleOutputCP(1251);
    char text[256], text2[256], str[64];
    int i, j;
    printf("введите текст:\n");
    fflush(stdin);
    gets(text);
    OemToChar(text, text);
    printf("введите строку:\n");
    fflush(stdin);
    gets(str);
    OemToChar(str, str);
    if(strstr(text, str)!=NULL){
    for(i = 0; i < text.Pos(str); i++)
    text2=text;
    for(i = text.Pos(str), j=0; j < strlen(str); i++, j++)
    text2=str[j];
    for(i = text.Pos(str)+strlen(str), j=text.Pos(str); j < strlen(text); i++, j++)
    text2=text[j];
    }
    printf("результат:%s\n", text);
    system("pause");
    return 0;}[/CODE]
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    ммм... очень сложно пишите, я бы использовал std ::find и std ::string
    у стандартных строк перегружен оператор + (конкатенация), поэтому формировать новую строку было бы удобно
     
  3. rrrFer

    rrrFer Гость

    Репутация:
    0
    в вашем коде, скорее всего полагается что Pos ищет первое вхождение подстроки в строке.
    В стандартной библиотеке для этого можно использовать strstr (древняя функция, МБ вам более подойдет) или str ::string ::find() или std ::search
     
Загрузка...
Похожие Темы - C++ Удвоить Все
  1. OBLIVIONNN
    Ответов:
    0
    Просмотров:
    16
  2. bronnn
    Ответов:
    0
    Просмотров:
    80
  3. Abhishek lyall
    Ответов:
    0
    Просмотров:
    430
  4. a_khachaturov
    Ответов:
    0
    Просмотров:
    87
  5. cppjob
    Ответов:
    0
    Просмотров:
    128
Статус темы:
Закрыта.

Поделиться этой страницей