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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
#1

Как первые два символа строки переставить в конец этой строки? - C++

21.12.2010, 20:35. Просмотров 1017. Ответов 6
Метки нет (Все метки)

Собственно вопрос
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2010, 20:35     Как первые два символа строки переставить в конец этой строки?
Посмотрите здесь:
В конец каждой строки текстового файла дописать количество символов этой строки C++
C++ Как задать конец строки и прекратить при вводе определённого символа?
Добавление символа в конец строки C++
Вывести первые и последние три символа строки C++
C++ Переставить первые М-элементов в конец массива
C++ Переставить первые М-элементов в конец массива
В конец каждой строки дописать позицию первого вхождения символа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.12.2010, 21:13     Как первые два символа строки переставить в конец этой строки? #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
 
int main()
{
    std::string str("LOjduhsbs ashfasf");
    str.insert(str.length(), str.substr(0, 2));
    str.erase(0, 2);
    std::cout << str;
    return 0;
}
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
21.12.2010, 21:28  [ТС]     Как первые два символа строки переставить в конец этой строки? #3
asics, у меня строковый массив a[5][50]
Я написал:
std::string a[i];
a[i].insert(a[i].length(),a[i].substr(0, 2));
a[i].erase(0, 2);
Программа почему-то вылетает, хотя все getch() на месте
(a[i] - потому что цикл)
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.12.2010, 21:36     Как первые два символа строки переставить в конец этой строки? #4
Василий-Робот, в качестве строкового масива испоьзуй вектор.
C++
1
std::vector<std::string> vec_str;
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
21.12.2010, 21:41  [ТС]     Как первые два символа строки переставить в конец этой строки? #5
asics, а как задать количество строк? и как потом обращаться к массиву?
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
21.12.2010, 21:46     Как первые два символа строки переставить в конец этой строки? #6
Василий-Робот,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <vector>
 
int main()
{
    std::string str;
    std::vector<std::string> vec_str;
 
    while(getline(std::cin, str))//Признак конца ввода Ctrl + Z в винде
        vec_str.push_back(str);
 
    for(size_t i = 0; i < vec_str.size(); ++i)
        std::cout << vec_str[i] << "\n";//vec_str[i] - это каждая строка
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2010, 19:07     Как первые два символа строки переставить в конец этой строки?
Еще ссылки по теме:
Ввести строки s1 и s2. 2 средних символа строчки s2 удалить и вставить в начало и конец s1 C++
C++ Как переместить символ окончания строки /0 в конец строки?
C++ как сделать из строки массив из символов этой строки
C++ Каждый элемент строки матрицы представить как приращение по отношению к минимальному элементу этой же строки
C++ Пропадают два первых символа из строки

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

Или воспользуйтесь поиском по форуму:
Василий-Робот
TECHNO
26 / 26 / 5
Регистрация: 04.11.2009
Сообщений: 366
25.12.2010, 19:07  [ТС]     Как первые два символа строки переставить в конец этой строки? #7
Простой и доступный для понимания код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main()
{
    printf("please, input string:\n");
    char string[100],buffer[100];
    scanf("%s",string);
    printf("the string before transformation:\n%s\n",string);
    strncpy(buffer,string,2);
    strcat(string,buffer);
    int i,length;
    length=strlen(string);
    for(int i=0;i<length;i++)
    string[i]=string[i+2];
    printf("the string after transformation:\n%s\n",string);
    getch();
    return 0;
}
Yandex
Объявления
25.12.2010, 19:07     Как первые два символа строки переставить в конец этой строки?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru