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

Строка: Вывести на экран только те строки, что не содержат двузначных чисел. - C++

Восстановить пароль Регистрация
 
Alani
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 48
19.03.2013, 06:45     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #1
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 06:45     Строка: Вывести на экран только те строки, что не содержат двузначных чисел.
Посмотрите здесь:

Нужно написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел C++
C++ как вывести на экран только что введенные числа?
C++ Строка: Вывести на экран только предложения, состоящие из заданного количества слов.
Программа, считывающая файл построчно и выводящая на экран только строки, не содержащие двузначных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
 Аватар для Пaтрик
394 / 387 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
19.03.2013, 08:19     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #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
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <regex>
#include <string>
#include <vector>
 
template < typename iterator >
void get_not_matched_lines(std::istream& is, std::string regex_pattern, iterator output)
{
    std::regex regex(regex_pattern, std::regex_constants::ECMAScript);
    std::smatch match;
    std::string s;
    while (std::getline(is, s, '\n'))
        if (!std::regex_search(s, match, regex))
            *output++ = s;
}
 
int main()
{
    std::ifstream ifs("D:\\1.txt");
    std::vector<std::string> vec;
    get_not_matched_lines(ifs, "\\b\\d{2}\\b", std::back_inserter(vec));
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
    std::cin.get();
    return 0;
}
Alani
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 48
19.03.2013, 11:19  [ТС]     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #3
одна ошибка: fatal error C1083: Cannot open include file: 'regex': No such file or directory
fjay69
 Аватар для fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
19.03.2013, 12:35     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #4
Цитата Сообщение от Alani Посмотреть сообщение
одна ошибка: fatal error C1083: Cannot open include file: 'regex': No such file or directory
Не нашёл стандартную библиотеку С++ regex. Обнови компилятор.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 14:12     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #5
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
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
#include <cstdlib>
using namespace std;
 
int main()
{
    setlocale(0, "");
     
    fstream fin("1.txt");
    if (!fin) cout << "Ошибка при открытии файла!" << endl; 
    else
    {
        string str; 
        int m = 0;
        
        while (fin)
        {
            string temp;
            fin >> temp;
            
            str.append(temp); 
            
            if (temp.size() == 2                && 
                isdigit((unsigned char)temp[0]) && 
                isdigit((unsigned char)temp[0])   ) ++m;
            
            if (fin.peek() == '\n' || fin.peek() == EOF)
            {
                if (m == 0) 
                {
                    cout << str << endl;
                    str.clear();
                }
                else 
                {
                    str.clear();
                    m = 0;
                }
                
            }
            else  str.push_back(' ');
        }
    }
    
    system("pause");
    return 0;
}
Alani
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 48
19.03.2013, 18:36  [ТС]     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #6
c:\users\sony\desktop\55d.cpp(19) : error C2451: conditional expression of type 'class std::basic_fstream<char,struct std::char_traits<char> >' is illegal
Ambiguous user-defined-conversion
c:\users\sony\desktop\55d.cpp(35) : error C2039: 'clear' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\users\sony\desktop\55d.cpp(39) : error C2039: 'clear' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\users\sony\desktop\55d.cpp(44) : error C2039: 'push_back' : is not a member of 'basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
Error executing cl.exe.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 20:55     Строка: Вывести на экран только те строки, что не содержат двузначных чисел.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
19.03.2013, 20:55     Строка: Вывести на экран только те строки, что не содержат двузначных чисел. #7
Какая среда? Компилятор?
Yandex
Объявления
19.03.2013, 20:55     Строка: Вывести на экран только те строки, что не содержат двузначных чисел.
Ответ Создать тему
Опции темы

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