Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/20: Рейтинг темы: голосов - 20, средняя оценка - 5.00
rjkmrf1988
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 48
1

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

21.05.2011, 08:37. Просмотров 3654. Ответов 5
Метки нет (Все метки)

Добрый день помоги пожалуйста с задачами на файлы

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


2) Дан файл, содержащий текст и арифметические выражения вида a Q b, где Q — один из знаков +,—,*,/ . Выписать все арифметические выражения и вычислить их значения

Добавлено через 58 секунд
вот что то подобное пробовал написать но ругается на FILE* in, out;

C++
1
2
3
4
5
6
7
8
9
10
11
FILE* in, out;
in = fopen("input.txt","r");
out = fopen("output.txt","w");
char buf, buf2=' ';//buf2<>' ' тогда пробелы в начале файла не будет удалять
fscanf(in,"%c",&buf);
while (buf!=EOF)
{ if (buf==' ' && buf2==' ');
  else fprintf(out,"%c",buf);
  buf2=buf;
  fscanf(in,"%c",&buf);
}
fclose(in);fclose(out);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 08:37
Ответы с готовыми решениями:

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

Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файл g
Здравствуйте! Возникла такая проблема, никак не могу докопаться до решения... ...

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

Удалить все лишние пробелы
В чем ошибка? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std;...

Задан текст, удалить в нём все лишние пробелы
помогите :-|

5
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 08:42 2
C++
1
FILE *in,*out;
1
rjkmrf1988
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 48
21.05.2011, 10:37  [ТС] 3
спасибо за совет заработало, только что то кивоватенько сделал видать. выводит до конца файла последнюю букву в последнем слове, а если пробелы стоят то ваше пустой файл
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 11:17 4
В вашем коде разобраться не смог, вот простенький код, переносит текст из файла input.txt в output.txt, но без повторяющихся пробелов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main(){
    FILE *in=fopen("input.txt","r"),*out=fopen("output.txt","w");
    char c;
    bool repeat=false;   //повтор
    while(!feof(in)){  //пока не конец файла
        fscanf(in,"%c",&c);   //считываем символ
        if (c==' '&&repeat) continue; //если пробел повторяется, то считываем дальше
        if (c==' '&&!repeat) repeat=true;else repeat=false; //если символ-пробел, но до него нет других пробелов, булевской переменной присваиваем 1, иначе 0
        fprintf(out,"%c",c); //ложим в output.txt символ
    }
    return 0;
}
2
rjkmrf1988
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 48
21.05.2011, 19:19  [ТС] 5
Премного благодарен
0
askurandrio
Заблокирован
07.04.2015, 07:12 6
А так не проще?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
int main(){
    FILE *in=fopen("teht.txt","r"),*out=fopen("textmod.txt","w");
    char c;
    int a=0;   
    while(!feof(in)) //пока не конец файла
    {
        fscanf(in,"%c",&c);   //считываем символ
        if (c == ' ') 
        {   
            a++;
            if (a > 2) fprintf (out,"*",c); 
        } 
        else a=0;
        fprintf (out,"%c",c); 
    }
    return 0;
}
1
07.04.2015, 07:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2015, 07:12

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

В символьной строке удалить все лишние подряд идущие пробелы.
помогите пожалуйста написать программу:В символьной строке удалить все лишние...

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


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

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

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