Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
melkaya19
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 19
#1

Работа с текстовыми файлами

21.06.2010, 01:34. Просмотров 598. Ответов 2
Метки нет (Все метки)

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

Помогите пожалуйста с этим заданием, мозг уже совсем не работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2010, 01:34
Ответы с готовыми решениями:

Работа с текстовыми файлами
Дай текстовы файл F. Группы символов, розделены пропусками (одним или нескольками) или вообще их не...

Работа с текстовыми файлами
Есть текстовый файл в котором существует последовательность чисел. Нужно создать текстовый файл...

Работа с текстовыми файлами
Всем доброго дня! Нужна помощь в решении следующей работы: Нужно создать файл, содержащий текст,...

Работа с текстовыми файлами
Дан текстовый файл F. Добавить в его конец символы E,N,D (если необходимо, использовать файл Q)....

C++ работа с текстовыми файлами
Доброго времени суток. Делал программу, но столкнулся с некоторыми трудностями. у меня в текстовом...

2
Aye Aye
370 / 284 / 97
Регистрация: 17.12.2009
Сообщений: 567
21.06.2010, 05:20 #2
отктываем два файла, один - на запись, другой - на чтение. чиатем по одному символу из файла на чтение, если символ пробел или табуляция то значит далее следует слово или цифра. считываем еще символы и, если это цифры, кладем их в буфер, как только встретили "нецифру" то смотрим: если это пробел или табуляция - значит мы считали число (оно в буфере) и его можно выводить в выходной файл, если это не пробел и не набуляция (и не знак припенания и не конец файла) то мы считали непойми что (слово с несколькими цифрами впереди) не будем записывать буфер в выходной фалй. Сбрасываем буфер и читаем из входного файла дальше.
буфером может быть масив char, скажем, из 30 элементов.
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
21.06.2010, 12:23 #3
слова из потока ввода
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
63
64
65
66
67
68
69
70
71
72
73
74
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
#define MAXWORD  100   /* максимальная длина слова */
 
 
int main(void) /* ANSI C89 */
{
    FILE *ifp, *ofp;
    int c;
    char word[MAXWORD], *ptr;
    enum { NO, YES } inword = NO;
    
    
    ifp = stdin;
    
    ofp = fopen("output.txt", "w");
    
    
    /* проверить, открылись ли файлы */
    
    
    while ((c = getc(ifp)) != EOF) {
        
        c = (unsigned char) c;
        
        if (ispunct(c) == 0 && isspace(c) == 0) {
            
            if (inword == NO) {
                
                inword = YES;
                
                ptr = word;
            
            }
        
            *ptr++ = c;
            
            *ptr = '\0';
        
        }
        
        if (ispunct(c) != 0 || isspace(c) != 0) {
            
            if (inword == YES) {
 
                inword = NO;
        
                for (ptr = word;
                     isdigit(*ptr) != 0 && *ptr != '\0';
                     ptr++)
                    ;
                
                if (*ptr == '\0') {
                
                    printf(".%s." "\n", word);
                
                    fprintf(ofp, " %s", word);
            
                }
            
            }
        
        }
        
    }
    
    
    fclose(ofp);
    
    
    return EXIT_SUCCESS;
}
здесь вывод
Код
[guest@station src]$ echo aaaa3a bbb2 333 1 a1 1a 3 | ./test
.333.
.1.
.3.
[guest@station src]$ cat output.txt
 333 1 3[guest@station src]$
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2010, 12:23

Работа с текстовыми файлами
Люди добрые кто может подскажите)) Задание: Дан текстовый файл, проставить пробелы после знаков...

Работа с текстовыми файлами
Во входной файл подается текст вида: aaabcbbffff В исходной файле получается: 3аbc2b4f простейшая...

Работа с текстовыми файлами
Делаю лабы по С++. Необходимо записать несколько строк в файл, а затем считать их оттуда. Использую...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru