Форум программистов, компьютерный форум CyberForum.ru

Переместить в слове первую букву в конец слова - C++

Восстановить пароль Регистрация
 
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
29.04.2014, 20:03     Переместить в слове первую букву в конец слова #1
Как можно переместить в слове первую букву в конец слова?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.04.2014, 20:25     Переместить в слове первую букву в конец слова #2
Цитата Сообщение от leprikon4eg Посмотреть сообщение
Как можно переместить в слове первую букву в конец слова?
Добавить, или заменить последнюю букву первой? Слово в чём хранится?
Chernobyl
211 / 211 / 67
Регистрация: 30.09.2012
Сообщений: 526
29.04.2014, 20:29     Переместить в слове первую букву в конец слова #3
leprikon4eg, Если правильно понял, то этот код переместит в конец,а не заменит последнюю.
C++
1
2
3
4
5
6
    string str = "1234567890as4";
    char buf;
    buf = str[0];   
    str.push_back(buf);
    str.erase(0,1);
    cout<<str<<endl;//выведет 234567890as41
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
29.04.2014, 20:33  [ТС]     Переместить в слове первую букву в конец слова #4
Цитата Сообщение от Chernobyl Посмотреть сообщение
str.erase(0,1);
что это такое??
Chernobyl
211 / 211 / 67
Регистрация: 30.09.2012
Сообщений: 526
29.04.2014, 20:35     Переместить в слове первую букву в конец слова #5
leprikon4eg, Удаляет с 0 позиции 1 элемент. То есть указывакм позицию и количество элкементов для удаления
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
29.04.2014, 20:38  [ТС]     Переместить в слове первую букву в конец слова #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void stroka::work (){
    char *p;
    char a;
        strcpy(str2,strrchr(str1,'1'));
        p=strtok(str1," ");
        while (p!=NULL)
        {
            if(strcmp(p,str2)!=0)
                {
                    a=p[0];
                    p.push_back(a);
                    p.erase(0,1);
                    strcpy(str3,p);
                    cout<<str3;
                }
            p=strtok(NULL," ");
        }
 
};
он выдает ошибку...

Добавлено через 36 секунд
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <conio.h>
using namespace std;
 
class stroka{
    char str1[250];//ввод
    char str2[250];//раб.строка
    char str3[250];//результат
public:
    void input();
    void work();
};
 
void stroka::input(){
    cout<<"Введите строку через пробел(последнее слово должно начинаться с 1, пробел НЕ ставить!!!):";
    gets(str1);
};
 
void stroka::work (){
    char *p;
    char a;
        strcpy(str2,strrchr(str1,'1'));
        p=strtok(str1," ");
        while (p!=NULL)
        {
            if(strcmp(p,str2)!=0)
                {
                    a=p[0];
                    p.push_back(a);
                    p.erase(0,1);
                    strcpy(str3,p);
                    cout<<str3;
                }
            p=strtok(NULL," ");
        }
 
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"rus");
        stroka s;
        s.input();
        s.work(); 
            getch();
    return 0;
}
Добавлено через 42 секунды
Вот всё,над чем я колдую... последнего штриха не хватает! никак не могу исправить...
Chernobyl
211 / 211 / 67
Регистрация: 30.09.2012
Сообщений: 526
29.04.2014, 20:44     Переместить в слове первую букву в конец слова #7
leprikon4eg, У вас переменная p это вообще char, push_back erase это методы класса стринг, поетому для чара их применять нельзя. Нужно чтобы был стринг.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 21:05     Переместить в слове первую букву в конец слова
Еще ссылки по теме:

C++ В каждом слове заменить первую букву на прописную
C++ Переместить первую букву слова в конец слова(Строки)
C++ Задан текст удалить первую букву в каждом слове с++ visual studio

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
leprikon4eg
1 / 1 / 0
Регистрация: 30.03.2014
Сообщений: 40
29.04.2014, 21:05  [ТС]     Переместить в слове первую букву в конец слова #8
Цитата Сообщение от leprikon4eg Посмотреть сообщение
p=strtok(str1," ");
Цитата Сообщение от leprikon4eg Посмотреть сообщение
strcmp(p,str2)
тогда эти выполнятся не будут,ибо они char...

Добавлено через 3 минуты
ну никак я не могу этот момент доделать,ну никак!

Добавлено через 11 минут
ДАААААААА

я сделал это! но правда очень хитро
Yandex
Объявления
29.04.2014, 21:05     Переместить в слове первую букву в конец слова
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru