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

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

Восстановить пароль Регистрация
 
LovingDaisy
 Аватар для LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
10.01.2010, 23:23     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел #1
помогите пожалуйста написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел

спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2010, 23:23     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел
Посмотрите здесь:

Написать программу,которая считывает текст из файла и выводит на экран только строки,не содержащие двух значных чисел C++
Нужно написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел C++
C++ Считать текст из файла и вывести на экран только предложения, не содержащие запятых
Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел C++
Программа, считывающая файл построчно и выводящая на экран только строки, не содержащие двузначных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
11.01.2010, 10:23     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел #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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
#define FILE_NAME "skip.txt"
#define SKIP 2
 
/* считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел */
int main(void){
    FILE *f;
    int cnt, flag;
    char buf[BUFSIZ], *p;
    
    if ( ( f = fopen(FILE_NAME, "r") ) == NULL ){
        fprintf(stderr, "Can't open input file!\n");
        exit(1);
    }
    
    while ( fgets(buf, sizeof(buf), f) ){
        cnt = flag = 0;
        for ( p = buf; *p; ++p ){
            if ( isdigit(*p) ){
                ++cnt;
            }
            else {
                if ( cnt == SKIP )
                    flag = 1;
                cnt = 0;
            }
        }
        if ( !flag )
            printf("%s", buf);
    }
    fclose(f);
    exit(0);
}
LovingDaisy
 Аватар для LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
11.01.2010, 19:06  [ТС]     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел #3
спасибище огромное =)))))))
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2010, 12:25     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел #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
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <fstream>
#include <string>
#include <cctype>
 
using namespace std;
 
int main(){
    char *file_name = "skip.txt";
    const int DIGITS_TO_SKIP = 2;
    string str;
    string::iterator i;
    int cnt;
    bool skip;
    
    ifstream ifs(file_name);
    if ( !ifs.is_open() ){
        cerr << "Merde!" << endl;
        return 1;
    }
    while ( getline(ifs, str) ){
        cnt = 0;
        skip = false;
        for ( i = str.begin(); i != str.end(); ++i ){
            if ( isdigit(*i) ){
                ++cnt;
            }
            else {
                if ( cnt == DIGITS_TO_SKIP )
                    skip = true;
                cnt = 0;
            }
        }
        if ( !skip && cnt != DIGITS_TO_SKIP ) // вот тут была ошибка!
            cout << str << endl;
    }
    ifs.close();
    return 0;
}
Ещё можно, наверное, как-нибудь замороченно с прибамбасами из STL, но я так не умею...

Добавлено через 29 минут
Упс! Косяк обнаружил! Если пара цифр в самом конце строки, то она всё равно выводилась!
Исправил.
LovingDaisy
 Аватар для LovingDaisy
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
21.01.2010, 12:50  [ТС]     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел #5
спасибо большое за помощь
а заморочено с прибамбасами мне и не надо
Yandex
Объявления
21.01.2010, 12:50     Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел
Ответ Создать тему

Метки
Строки
Опции темы

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