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

Сортировка текста - C++

Восстановить пароль Регистрация
 
Руслан21
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 15
20.12.2011, 23:18     Сортировка текста #1
Пусть задан текст, который содержит набор символов. Сортировать текст, так, чтобы в первой строке содержались только латинские буквы, упорядоченные за ростом, во втором – цифры, упорядоченные за уменьшением. а в третьем - знаки препинания в любой последовательности
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 23:18     Сортировка текста
Посмотрите здесь:

Сортировка текста в строке по алфавиту (латынь) C++
C++ Заданы два текста. Определить, можно ли получить первый текст перестановкой слов второго текста.
C++ сортировка строк текста
C++ как сделать вывод текста, результата и продолжение текста
Выводит адрес текста, вместо самого текста C++
Сортировка текста по алфавиту C++
Сортировка текста из файла по алфавиту C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
21.12.2011, 00:47     Сортировка текста #2
вот как-то так у меня получилось
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
using std::cout;
 
#include <fstream>
using std::ifstream;
using std::ofstream;
 
#include <vector>
using std::vector;
using std::greater;
 
#include <algorithm>
using std::sort;
 
 
int main() {
 
    char ch;
    int chVal;
    vector<char> latinChars;
    vector<char> digits;
    vector<char> otherSymbols;
 
    ifstream myInputFile;
    ofstream myOutputFile;
    myInputFile.open("C:\\test.txt");
    myOutputFile.open("C:\\test_out.txt");
    if(myInputFile && myOutputFile) {
        while (myInputFile >> ch) {
            chVal = int(ch);
            if ((chVal >= 97 and chVal <= 122) || (chVal >= 65 && chVal <= 90)) {
                latinChars.push_back(ch);
            } else if (chVal >= 48 and chVal <= 57) {
                digits.push_back(ch);
            } else {
                otherSymbols.push_back(ch);
            }
        }
        sort(latinChars.begin(), latinChars.end());
        sort(digits.begin(), digits.end(), greater<int>());
 
        while (!latinChars.empty()) {
            myOutputFile << latinChars.front();
            latinChars.erase(latinChars.begin());
        }
        myOutputFile << '\n';
        while (!digits.empty()) {
            myOutputFile << digits.front();
            digits.erase(digits.begin());
        }
        myOutputFile << '\n';
        while (!otherSymbols.empty()) {
            myOutputFile << otherSymbols.front();
            otherSymbols.erase(otherSymbols.begin());
        }
 
    } else {
        cout << "Cannot open file";
    }
 
    return 0;
}
input file test text

Phase 1. Beginning in January 2012, this phase will involve 30 HIV-positive people on whom safety will be retested.

output file text

Не по теме:

в первой строке на самом деле пробела нет. это форум так почему-то форматирует


BHIJPVaaaaabdeeeeeeeeeeeefgghhhhiiiiiiiiillllllmnnnnnnnooooopppprrsssssstttttuvvvwwwyy
0011223
.,-.
vikichocolate
 Аватар для vikichocolate
25 / 14 / 1
Регистрация: 11.11.2011
Сообщений: 94
21.12.2011, 01:13     Сортировка текста #3
greeezz, а можете помочь с одной задачей?

Задан текстовый файл Input.txt , в котором записана последовательность некоторых слов, разделенных одним или несколькими разделителями из заданного множества разделителей [пробел, точка, запятая, точка с запятой, двоеточие, плюс].
Для обработки чисел использовать класс TNumber, для обработки массива- класс TArray. В интерфейсе класса должны быть указанные функции. Автор может использовать еще свои функции.
1. Найти все слова-числа, т.е. такие, которые состоят только из цифр. Известно, что количество цифр в каждом числе не более 9 (девяти).
a. Для проверки, является ли слово числом использовать функцию Fnumber
2. Найденные слова-числа записать в динамический массив DArray.
3. Получить новый массив NewArray, преобразовав каждое число динамического массива в наименьшее число, составленное из его цифр.
a. Для преобразования числа в наименьшее использовать функцию MinNumber

можно без классов
Yandex
Объявления
21.12.2011, 01:13     Сортировка текста
Ответ Создать тему
Опции темы

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