Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Гаяз
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 4
#1

Поменять местами слова в предложении - C++

02.11.2014, 12:34. Просмотров 598. Ответов 3
Метки нет (Все метки)

Такая проблема. Нужно сделать программу, в которую вводим предложение размером N, и которая меняет местами слова с заданными номерами A и B.

С начало я делал так

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
int _tmain(int argc, _TCHAR* argv[])
{
    int size,nom;
    cout << "Vvedite kol-vo slov v predlozhenii: ";
    cin >> size;
    nom = size;
    int x = size;
    char ** strArr;
    size++;
    strArr = new char*[size];
 
    for (int i = 0; i<size; i++) {
        strArr[i] = new char[255];
        cin.getline(strArr[i], 255);
        }
    
    cout << "======= Polychilos vot tokoe predlozhenie =======" << endl;
    int z = size;
    for (int i = 0; i<size; i++) {
        cout << strArr[i] << " ";
    }
    cout << "    " << endl;
    cout << "======= SDVIG =======" << endl;
    size = size - x;
    for (int i = 0; i<size; i++) {
        cout << strArr[nom] << " ";
    }
 
    for (int i = 0; i<z-1; i++) {
        cout << strArr[i] << " ";
    }
 
 
    int r; cin >> r;
}
я не смог сделать что бы оно меняло номером, а меняло только первое с последним


Я начал делать все заново, и получился простой код, я просто в переменную а добавляю слова с пробелом, как сделать что бы можно было их поменять местами заданные слова по номерам? помогите пожалуйста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    setlocale(LC_ALL, "Rus");
    int i,size;
    cout << "Введите кол-во слов в предложение";
    cin >> size;
    size++;
    string a, b;
    for (i = 0; i<size; i++)
    {
 
            getline(cin, b);
            a += b + " ";
    }
    cout << "a=" << a << endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2014, 12:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поменять местами слова в предложении (C++):

Обработка строк. Поменять местами в предложении слова
Поменять местами в предложении слова: первое и последнее, второе и...

В предложении поменять местами слова с максимальной и минимальной длинами
Для решения задачи необходимо подобрать подходящую динамическую структуру...

Определить в предложении слова максимальной и минимальной длины и поменять их местами. C
Доброе время суток!:) Уважаемы программисты, помогите, пожалуйста решить...

В заданном предложении поменять местами самое длинное и самое короткое слова
В заданном предложении поменять местами самое длинное и самое короткое слова....

Поменять местами первое и последнее слово в предложении
Дано предложение(водить с консоли). Поменять местами первое и последнее слово....

Поменять местами первое и последнее слово в предложении
Собственно, задачка вроде легкая, но у меня нету никаких идей. С клавиатуры...

3
zss
Модератор
Эксперт С++
6950 / 6512 / 4133
Регистрация: 18.12.2011
Сообщений: 17,173
Завершенные тесты: 1
02.11.2014, 12:47 #2
Нужные для перестановки слова запоминайте в других переменных типа string.
Отдельно формируйте строку до слова с номером A и от слова с номером A+1.
0
Гаяз
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 4
02.11.2014, 13:01  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
Нужные для перестановки слова запоминайте в других переменных типа string.
Отдельно формируйте строку до слова с номером A и от слова с номером A+1.
А поподробнее можно? я просто недавно начал изучать язык
0
zss
Модератор
Эксперт С++
6950 / 6512 / 4133
Регистрация: 18.12.2011
Сообщений: 17,173
Завершенные тесты: 1
02.11.2014, 13:45 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string a1(""),a2(""), b,aA,bB;
int A=3,B=7;
    for (i = 0; i<A; i++)
    {
 
            getline(cin, b);
            a1 += b + " ";
    }
     getline(cin, aA);
    for (i = A+1; i<B; i++)
    {
 
            getline(cin, b);
            a2 += b + " ";
    }
    getline(cin, bB);
    a1+=bB+a2+aA;
    for (i = B+1; i<size; i++)
    {
 
            getline(cin, b);
            a1 += b + " ";
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2014, 13:45
Привет! Вот еще темы с решениями:

Поменять местами первые слова (слова разделены пробелами) заданных строк, без использования процедур
Вводятся две строки произвольного текста. Поме-нять местами их первые слова...

Поменять слова местами
Задача такая: Поменять слова в сообщении по принципу: первое с n/2+1 словом,...

Поменять местами слова
Имеется код, который открывает содержимое файла: #include &lt;fstream&gt; #include...

В тексте поменять слова местами
В тексте поменять слова местами (первое с последним , второе с предпоследним и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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