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

Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры - C++

Восстановить пароль Регистрация
 
anfisso
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 4
13.10.2013, 14:54     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #1
написать программу на C++ нужно

Задан текст, заканчивающийся точкой. Вывести на экран сначала все цифры, входящие в него, а затем все остальные литеры. При написании программы нельзя пользоваться стандартными функциями обработки строк
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 14:54     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры
Посмотрите здесь:

Преобразовать массив следующим образом: сначала должны стоять цифры, входящие в массив, а затем все остальные символы C++
дано 100 чисел, сначала вывести все отрицательные а затем все остальные C++
Даны 100 чисел. Напечатать сначала все отрицательные из них, а затем все остальные C++
Дано 12 чисел. Напечатать сначала вс отрицательные из них, а затем все остальные. C++
C++ Написать программу, которая считывает текст из файла и выводит на экран сначала предложения, начинающиеся с однобуквенных слов, а затем все остальные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,419
13.10.2013, 14:59     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #2
Цитата Сообщение от anfisso Посмотреть сообщение
Задан текст, заканчивающийся точкой. Вывести на экран сначала все цифры, входящие в него, а затем все остальные литеры.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <set>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::multiset<char> m(str.begin(), str.end());
    for (auto c: m)
        std::cout << c;
}
Добавлено через 14 секунд
Про порядок ничего не сказано
anfisso
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 4
13.10.2013, 15:11  [ТС]     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #3
что то не работает, нужно для c++ builder 6
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 15:15     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #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
24
25
26
27
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    char *str = "as12df sdfse 3 2eee4ew w37wer2fgj9dl.";
    char *p = str;
    do
    {
        if (*p > 47 && *p < 58) cout << *p;
        ++p;
    } while (*p != '.');
    
    cout << endl;
    
    p = str;
    do
    {
        if (*p <= 47 || *p >= 58) cout << *p;
        ++p;
    } while (*p != '.');
    cout << *p << endl;
 
    system("pause");
    return 0;
}
Миниатюры
Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры  
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,419
13.10.2013, 15:18     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #5
С динозаврами не работаю, но если этот код не поможет, то ничем более не подскажу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#include <string>
#include <set>
#include <cstdlib>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::multiset<char> m(str.begin(), str.end());
    for (std::multiset<char>::iterator it = m.begin(); it != m.end(); ++it)
        cout << c;
    system("pause");
    return 0;
}
Я код писал под 11 стандарт (если заменить for-loop на обычный цикл, то под 98)

Добавлено через 2 минуты
alsav22, а если строковый литерал без точки? И вроде нигде нет гарантии, что числа стоят именно на этих позициях
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.10.2013, 15:32     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры #6
Цитата Сообщение от MrGluck Посмотреть сообщение
alsav22, а если строковый литерал без точки? И вроде нигде нет гарантии, что числа стоят именно на этих позициях
Не понял вопроса. Есть задание:
Цитата Сообщение от anfisso Посмотреть сообщение
Задан текст, заканчивающийся точкой.
Позиции чисел - это о чём?
Yandex
Объявления
13.10.2013, 15:32     Вывести на экран сначала все цифры, входящие в текст, а затем все остальные литеры
Ответ Создать тему
Опции темы

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