Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 27.10.2013
Сообщений: 37
1

Удалить из файла лишние пробелы, оставив по одному между словами

28.03.2014, 11:19. Просмотров 2488. Ответов 1
Метки нет (Все метки)


Добрый день.
Помогите с программой. Заранее спасибо.
Дан файл, содержащий некоторый текст. Удалить из этого файла лишние пробелы, оставив по одному между словами. Если слова разделяются знаком препинания без пробела, добавить пробел после знака препинания.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2014, 11:19
Ответы с готовыми решениями:

Удалить из текстового файла все лишние пробелы, оставив между словами не более одного пробела
Дано вот такое задание: Дан текстовый файл. Удалить из него все лишние пробелы, оставив между...

Отредактировать текст, удаляя лишние пробелы между словами
В текстовом файле хранится некоторый текст. Отредактировать текст, удаляя лишние пробелы между...

Отредактировать строку удаляя лишние пробелы между словами
Отредактировать строку удаляя лишние пробелы между словами.На языке си.

Удалить из файла с текстом все лишние пробелы
удалить из файла с текстом все лишние пробелы. Оставшееся переписать во второй файл

1
...
1799 / 1264 / 934
Регистрация: 12.02.2013
Сообщений: 2,058
28.03.2014, 14:17 2
Лучший ответ Сообщение было отмечено Alexander532 как решение

Решение

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
#include <stdio.h>
#include <string.h>
#include <assert.h>
 
int main() {
    FILE* fs, * fr;
    int ch, prev = -1;
 
    assert((fs = fopen("source.txt", "r")) != NULL);
    assert((fr = fopen("result.txt", "w")) != NULL);
 
    while ((ch = fgetc(fs)) != EOF) {
        if ((prev == ' ') && (ch == ' ')) {
            continue;
        }
 
        if ((strchr(",.;:!?", prev)) && (ch != ' ')) {
            fputc(' ', fr);
        }
        fputc(ch, fr);
 
        prev = ch;
    }
 
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2014, 14:17

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Удалить из файла все однобуквенные слова и лишние пробелы
Дан символьный файл f. Группы символов, разделенные пробелами (одним или несколькими) и не...

Удалить из файла все однобуквенные слова и лишние пробелы
Дан символьный файл f. Группы символов, разделенные пробелами (одним или несколькими) и не...

Удалить из массива все одинаковые вхождения элементов, оставив их по одному
ТЗ: дан массив А(n). Удалить из массива все одинаковые вхождения элементов, оставив их по одному. ...

Удалить из массива все одинаковые вхождения элементов, оставив их по одному
ТЗ: дан массив А(n). Удалить из массива все одинаковые вхождения элементов, оставив их по одному. ...


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

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

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