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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
SaMaRiTyAnkA
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 10
#1

Поменять местами слова строки стоящие на четных и нечетных позициях - C++

24.10.2010, 18:16. Просмотров 2140. Ответов 5
Метки нет (Все метки)

Нужна помощь в лабораторной. Для корифеев задачка простая, но для меня...х))
Написать программу, которая меняет местами слова введенной с клавиатуры строки стоящие на четных и нечетных позициях.
Если можно с некоторыми комментариями...просто хотелось бы самой чуть-чуть разобраться.^^
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2010, 18:16     Поменять местами слова строки стоящие на четных и нечетных позициях
Посмотрите здесь:

Поменять попарно местами символы, расположенные на четных и нечетных позициях - C++
Помогите с задачей условия таковы: Задана символьная строка. Поменять попарно местами символы, расположенные на четных и нечетных...

В строке символов поменять местами символы на четных и нечетных позициях - C++
В строке символов поменять местами символы на четных и нечетных позициях.

Поменять местами элементы, стоящие на четных местах, с элементами, стоящими на нечетных - C++
Помогите составить программу. Условие: В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с...

В одномерном массиве А(10) поменять местами элементы стоящие на четных и нечетных местах - C++
В одномерном массиве А(10) поменять местами элементы стоящие на четных и нечетных местах,среди элементов расположенных до максимального

Массив: поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных - C++
В заданном одномерном массиве, поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных. ...

Массивы: поменять местами соседние элементы, стоящие на четных местах, с элементами ,стоящими на нечетных местах - C++
В заданном одномерном массиве поменять местами соседние элементы ,стоящие на четных местах ,с элементами ,стоящими на нечетных...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.10.2010, 20:22     Поменять местами слова строки стоящие на четных и нечетных позициях #2
SaMaRiTyAnkA,

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
#include <iostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <vector>
 
int main()
{
    std::string Str;
    std::cout<<"Enter string: ";
    std::getline(std::cin, Str);
    //Строка разделителей
    std::string Delim=",.$%^:? ";
    std::vector<std::string> StrVec;
    for(std::string::iterator It=Str.begin(); It!=Str.end(); ++It)
    {
     //Если символ строки равен символу в разделителях заменяем его на пробел
        if(Delim.find(*It)!=std::string::npos)
            *It=' ';
    }
    std::string TempStr; 
    //Строковый поток
    std::istringstream ist(Str);
    while(ist>>TempStr)
    StrVec.push_back(TempStr);
    for(size_t i=0; i<StrVec.size()-1; ++i)
    {
    if(i%2==0)
    {
        std::string Temp=StrVec[i];
        StrVec[i]=StrVec[i+1];
        StrVec[i+1]=Temp;
    }
     } 
     //Вывод на экран
     std::copy(StrVec.begin(), StrVec.end(), std::ostream_iterator<std::string>(std::cout, " "));
     return 0;
}
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
24.10.2010, 21:14     Поменять местами слова строки стоящие на четных и нечетных позициях #3
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
#include <string>
#include <iostream>
using namespace std;
 
int main() 
{ 
        char str[256]; // строка - массив символов(макс 256 символов)
        gets(str); // ввод с клавиатуры
        string buf[10]; // массив строк(макс 10). Хочешь сделай больше
        char * pch = strtok(str," "); // pch это указатель на символ(ы).
                                     // функция strtok() разбивает строку на слова
                                    //  сейчас pch указывает на первое слово строки str(то что до первого пробела)
        int index = 0; // индекс массива buf
        while(pch != NULL) // условие выполнения цикла - pch != NULL (пока pch  указывает на символ) 
                             // т.е. до конца строки
        { 
buf[index] = pch; // помещаем первое  в buf под индексом index
            pch = strtok(NULL," "); // перемещаем указатель на следующее слово
index++; // индекс плюс (для следующего слова)
        }
        
        for(int i = 0;i < 10;i = i+2){ // меняем местами каждое первое и второе слово
        string t = buf[i]; // заведя временную переменную t
        buf[i] = buf[i+1];
        buf[i+1] = t;   
        }
        for(int i = 0;i < 10;++i)
            cout << buf[i] << " "; // выводим на экран
 
system("pause");
}
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,508
24.10.2010, 22:05     Поменять местами слова строки стоящие на четных и нечетных позициях #4
Lavroff, как у Вас всё сложно! Я вот за простые решения - они может и не всегда лучшие, за то понятные
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
#include <iostream>
#include <string>
#include <sstream>
#include <cstdlib>
 
int main(){
    std::string buf;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    if ( buf.empty() )
        return 1;
 
    std::istringstream ist(buf);
    std::string w1, w2;
 
    while ( ist >> w1 ){
        if ( ist >> w2 )
            std::cout << w2 << ' ';
        std::cout << w1 << ' ';
    }
 
    std::cout << std::endl;
    system("pause");
    return 0;
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
24.10.2010, 22:07     Поменять местами слова строки стоящие на четных и нечетных позициях #5
easybudda, И правда)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 03:42     Поменять местами слова строки стоящие на четных и нечетных позициях
Еще ссылки по теме:

В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных местах - C++
1)В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных...

Переделать массив таким образом, в первой половине располагались элементы, стоящие на четных позициях, а во второй половине - элементы в нечетных - C++
Превратить массив таким образом, чтобы в первой половине располагались элементы, стоящие на четных позициях, а во второй половине -...

В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах - C++
В заданном одномерном массиве поменять местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных местах.Нужно...

Поменять местами содержимое четных и нечетных разрядов в младшем байте - C++
1 Найти количество чисел из диапазона от 100000 до 999999, у которых произведение первых 4 разрядов равно произведению 3 последних. Сколько...

В рендомно заполненном массиве поменять местами значения четных и нечетных индексов - C++
В массиве из 12 ячеек заполненный рендомно, поменять местами значения четных и нечетных индексов. Где ошибка? #include &lt;iostream&gt; ...

Вывести на печать символы, стоящие на четных позициях - C++
Нужно с помощью строк вывести на печать символы, стоящие на четных позициях


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

Или воспользуйтесь поиском по форуму:
SaMaRiTyAnkA
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 10
25.10.2010, 03:42  [ТС]     Поменять местами слова строки стоящие на четных и нечетных позициях #6
Спасибо всем преогромное, успею и разобраться и сдать к сроку!
Yandex
Объявления
25.10.2010, 03:42     Поменять местами слова строки стоящие на четных и нечетных позициях
Ответ Создать тему
Опции темы

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