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

как менять слова местами? - C++

Восстановить пароль Регистрация
 
ПОНЧО
Сообщений: n/a
17.12.2010, 21:15     как менять слова местами? #1
Нужно заставить программу менять слова местами, то есть первый со вторым, третье с четвертым и т д, помогите плиз,срочно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 21:15     как менять слова местами?
Посмотрите здесь:

как поменять слова местами в массиве типа char? C++
как менять сторки местами C++
Поменять местами первые слова (слова разделены пробелами) заданных строк, без использования процедур C++
В заданном массиве А может менять местами минимальный и максимальный элементы. C++
Написать программу, которая будет менять столбцы местами (четный и нечетный) C++
C++ Менять массивы местами при условии
Работа с указателями: во введенной строке в каждом слове менять буквы местами C++
Менять местами имена в зависимости от зарплаты C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
legend
 Аватар для legend
28 / 27 / 0
Регистрация: 17.11.2010
Сообщений: 152
17.12.2010, 21:23     как менять слова местами? #2
у меня такая лаба была..

ща скину

Добавлено через 1 минуту
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
#include <stdio.h>
#include <string.h>
 
#define MAXWORDLEN      32
#define MAXWORDS        16
 
#define MAXSYMBOLS      (MAXWORDLEN * MAXWORDS)
 
#define DELIMETERS      " \n"
 
int main()
{
        int i = 0;
        int nwords = 0;
        char buffer[MAXSYMBOLS];
        char words[MAXWORDS][MAXWORDLEN];
        char *wordptr = NULL;
 
        printf("> ");
        fgets(buffer, MAXSYMBOLS, stdin);
 
        // split source string
        wordptr = strtok(buffer, DELIMETERS);
        for(nwords = 0; nwords < MAXWORDS && wordptr; ++nwords) {
                strncpy(words[nwords], wordptr, MAXWORDLEN);
                wordptr = strtok(NULL, DELIMETERS);
        }
 
        // swap words
        for(i = 0; i + 1 < nwords; i += 2) {
                strncpy(buffer, words[i], MAXWORDLEN);
                strncpy(words[i], words[i+1], MAXWORDLEN);
                strncpy(words[i+1], buffer, MAXWORDLEN);
        }
 
        // pick string
        memset(buffer, 0, MAXSYMBOLS);
        for(i = 0; i < nwords; ++i) {
                strncat(buffer, words[i], MAXWORDLEN);
                strcat(buffer, " ");
        }
 
        printf("%s\n", buffer);
        return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 23:50     как менять слова местами? #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
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main ()
{
    std::string str;
    std::cout << "Input string: ";
    getline(std::cin, str);
    std::vector<std::string> vec;
 
    std::istringstream ist(str);
    while(ist >> str)
        vec.push_back(str);
 
    for(int i = 0; i < vec.size() - 1; ++i)
        std::swap(vec[i], vec[i + 1]);
 
    std::cout << "\n\t-> ";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
 
    return 0;
}
Yandex
Объявления
17.12.2010, 23:50     как менять слова местами?
Ответ Создать тему
Опции темы

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