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

Gjvjubnt/ C++ - C++

Восстановить пароль Регистрация
 
Серафим
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 20
17.12.2010, 16:16     Gjvjubnt/ C++ #1
Задание : дана строка со словами между которыми 2 пробела. Вывести новую строку в которой один пробел между словами и слова расположены в алфавитном порядке.

Просьба сделать на примитивном уровне ( желательно с разъяснениями) )))

Спасибо заранее)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2010, 16:16     Gjvjubnt/ C++
Посмотрите здесь:

Gjvjubnt не могу настроить маршрутизатор WNR612v2

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
17.12.2010, 16:57     Gjvjubnt/ C++ #2
Цитата Сообщение от Серафим Посмотреть сообщение
Задание : дана строка со словами между которыми 2 пробела. Вывести новую строку в которой один пробел между словами и слова расположены в алфавитном порядке.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::vector<std::string> vec;
    std::string str;
    std::cout << "Input string: ";
    getline(std::cin, str);
    std::istringstream ist(str);
    while(ist >> str)
        vec.push_back(str);
    std::sort(vec.begin(), vec.end());
    std::cout << "\nOutput string: ";
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, " "));
    return 0;
}
Temirlan90
 Аватар для Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
17.12.2010, 18:41     Gjvjubnt/ C++ #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
32
33
34
35
36
37
38
39
40
41
42
43
44
//Даны натуральное число n, символы S1,..,Sn. Известно, что среди данных символов есть хотя бы один, отличный от пробела. 
//Требуется преобразовать последовательность S1,..,Sn следующим образом. Удалить группы пробелов, которыми начинается и 
//которыми заканчивается последовательность, а также заменит каждую внутреннюю группу пробелов одним пробелом. 
//Если указанных групп нет в данной последовательности, то оставить последовательность без изменения.
 
#include <iostream>
#include <conio.h>
#include "string.h"
#include <stdio.h>
 
int main(int argc, char* argv[]) {
    char str[255];
    gets(str);
    bool flag = true;
    for(int i = 0; flag; i++) {
        int n = strlen(str);
        int k = n + 2;
        int j;
        for(j = 0; k != j - 1; j++) {
            if(str[j] == ' ' && str[j+1] == ' ') {
                k = j;
            }
        }
        if(k == j - 1 && j < n) {
            char * str1 = str + k + 1;
            str[k] = '\0';
            strcat(str,str1);
        }
        else {
            if(str[0] == ' ') {
                char * str1 = str + 1;
                str[0] = '\0';
                strcat(str,str1);
            }
            n = strlen(str);
            if (str[n-1] == ' ') {
                str[n-1] = '\0';
            }
            flag = false;
        }
    }
    printf("%s",str);
    getch();
}
Yandex
Объявления
17.12.2010, 18:41     Gjvjubnt/ C++
Ответ Создать тему
Опции темы

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