Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Символьная работа со строками


Автор: Grizzzz 29.5.2020, 20:25
Добавить слово "hello" после первого слова введенной строки.Помогите подкорректировать код.

#include <iostream>
#include <string> 
using namespace std;

int main()
{
    setlocale(LC_ALL, "Rus");
    char s[100];
    char s1[] = "hello";
    cout << "Введите строку:";
    gets_s(s);
    //strcpy_s(s1, s);
    //strcat_s(s, s1);
    for (int i = 0; i <= strlen(s); i++)
        if (s[i] == ' ') 
            strcat_s(s, s1);
    puts(s);
    system("pause");
}

Автор: Grizzzz 29.5.2020, 23:12
c++
#include <iostream>
#include <string> 
using namespace std;

int main()
{
    setlocale(LC_ALL, "Rus");
    char s[100], str[100], str1[100];
    char s1[] = "hello";
    cout << "Введите строку:";
    gets_s(s);
    strcpy_s(str, s);
    for (int i = 0; i <= strlen(str); i++)
        if (str[i] == ' ')
            str[i] = '\0';
   
    strcat_s(str, s1); // добавили вставляемое слово
    strcat_s(str, s); // нужно добавить остаток строки
    strcpy_s(s, str);
    puts(s);
    system("pause");
}

Автор: xvr 30.5.2020, 17:23
А что у вас за жуткая помесь С и С++? Если уж включили к себе <string>, так и используйте std::string. С ним это делается в пару строк

Автор: Oldshelf 31.5.2020, 08:41
Код

//c++
#include <iostream>
//#include <string>
using namespace std;

int main()
{
    setlocale(LC_ALL, "Rus");
    char s[100]="", str[100]="", str1[100]="";
    char s1[] = " hello ";
    bool split = false;
    int c = -1;
    cout << "Введите строку:";
    gets_s(s);

    for (int i = 0; i < strlen(s); i++)
    {
        if (split)
            str1[c] = s[i];
        if (s[i] == ' ' && !split)
            split = true;
        if (!split)
            str[i] = s[i];
        else
            c++;
    }

    strcpy_s(s, str);
    strcat_s(s, s1); // добавили вставляемое слово
    strcat_s(s, str1); // нужно добавить остаток строки
    puts(s);
    system("pause");
}

Автор: kahari 22.6.2020, 14:57
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)