С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Nicolashka
0 / 0 / 0
Регистрация: 30.10.2017
Сообщений: 6
1

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания

31.10.2017, 16:32. Просмотров 1053. Ответов 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 "stdafx.h"
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
 
inline void print(std::string i) { std::cout << i << " "; }
 
int main()
{
    std::string str = "5 4 6 8 9 1 2 3 7";
    std::string buf;
    std::stringstream ss(str);
    std::vector< std::string > tokens;
 
    while (ss >> buf)
        tokens.push_back(buf);
 
    sort(tokens.begin(), tokens.end());
    for_each(tokens.begin(), tokens.end(), print);
    std::cout << std::endl;
 
    system("PAUSE");
    return 0;
}
Но я не знаком с векторами и мне нужно что-нибудь попроще.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2017, 16:32
Ответы с готовыми решениями:

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастан
При вводе чисел к примеру 5 3 2 1 , выдает непонятные цифры 3251325032490...

Дана строка символов что складаютья из цифр разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания их значений
Дана строка символов что складаютья из цифр разделенных пробелами. Вывести на...

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные...

Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести четные числа этой строки- не работает
#include &lt;vcl.h&gt; #pragma hdrstop #include &lt;conio.h&gt; #include &lt;iostream.h&gt;...

Дана строка, состоящая из слов, разделенных пробелами, в конце строки - точка
Дана строка, состоящая из слов, разделенных пробелами, в конце строки - точка....

3
Геомеханик
792 / 597 / 939
Регистрация: 26.06.2015
Сообщений: 1,409
31.10.2017, 16:57 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
int main(void){
    std::string s = "5 4 6 8 9 1 2 3 7";
 
    const int N = 10;
    unsigned cs[N] = {0};
    for(std::string::const_iterator p = s.begin(); p != s.end(); ++p){
        if(*p >= '0' && *p <= '9')
            ++cs[*p - '0'];
    }
 
    for(int i = 0; i < N; ++i){
        for(unsigned d = 0; d < cs[i]; ++d)
            std::cout << char(i + '0') << ' ';
    }
    std::cin.get();
    return 0;
}
1
Nicolashka
0 / 0 / 0
Регистрация: 30.10.2017
Сообщений: 6
31.10.2017, 18:27  [ТС] 3
Хорошо, но как добавить ввод чисел с клавиатуры?

Добавлено через 1 час 24 минуты
C++
1
2
3
4
std:cin >> s;
 
    
}
Не получается
0
LVV
120 / 107 / 39
Регистрация: 15.02.2010
Сообщений: 454
31.10.2017, 18:47 4
Лучший ответ Сообщение было отмечено Nicolashka как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
int main ()
{
    string s;
    getline(cin,s);//читаем строку с пробелами
    int l = s.length();//длина строки с пробелами
    
    //сортируем строку, игнорируя пробелы
    for (int i = 0; i < l; i += 2)
        for (int j = i + 2; j < l; j += 2)
            if (s[i] < s[j])
                swap(s[i], s[j]);//обмен значениями
 
    cout << s << endl;
    system("pause");
return 0;
}
Работает при условии корректного ввода данных, согласно условию задачи: "...цифры, разделённые пробелом..."
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2017, 18:47

Дана строка символов, состоящая из цифр и пробелов. Вывести на экран слово с максимальной длиной
Помогите, выдает ошибку в проверке условия цикла #include &lt;conio.h&gt;...

Дана строка символов, состоящая из произвольного текста, слова раз-делены пробелами. Вывести на экран порядковый номер слова, накрывающего k позицию
Помогите с вот такой вот задачкой: Дана строка символов, состоящая из...

Дана строка символов, состоящая из букв и цифр. Удалить из строки все цифры
Нужна прога... Дана строка символов, состоящая из букв и цифр. Удалить из...


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

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

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