4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
1

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

10.01.2010, 23:23. Показов 1213. Ответов 4

помогите пожалуйста написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел

спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2010, 23:23
Ответы с готовыми решениями:

Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел
Написать программу, которая считывает текст из файла и выводит на экран только строки, не...

Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел
Написать программу, которая считывает текст из файла и выводит на экран только строки, не...

Считать текст из файла и вывести на экран только строки, не содержащие двузначных чисел
Пожалуйста, помогите!! Программа, которая считывает текст из файла и выводит на экран только...

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

4
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11717 / 7222 / 1712
Регистрация: 25.07.2009
Сообщений: 13,223
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);
}
1
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
11.01.2010, 19:06  [ТС] 3
спасибище огромное =)))))))
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11717 / 7222 / 1712
Регистрация: 25.07.2009
Сообщений: 13,223
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 минут
Упс! Косяк обнаружил! Если пара цифр в самом конце строки, то она всё равно выводилась!
Исправил.
1
4 / 4 / 0
Регистрация: 28.12.2009
Сообщений: 18
21.01.2010, 12:50  [ТС] 5
спасибо большое за помощь
а заморочено с прибамбасами мне и не надо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.01.2010, 12:50
Помогаю со студенческими работами здесь

Считать текст из файла и вывести на экран только строки не содержащие двузначных чисел
Нужно написать программу, которая считывает текст из файла и выводит на экран только строки, не...

Считать текст из файла и выводит на экран только строки, не содержащие двузначных чисел
Написать программу, которая считывает текст из файла и выводит на экран только строки, не...

Вывести на экран только те строки файла, не содержащие двузначных чисел
ПлЗ! Помогите написать программу, которая считывает текст из файла и выводит на экран только...

Написать программу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел
Написать программу, которая считывает текст из файла и выводит на экран только строки, не...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru