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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
#1

Удалить все пробелы из текста прочитанного из файла - C++

16.10.2010, 20:03. Просмотров 1699. Ответов 8
Метки нет (Все метки)

Необходимо: Создать файл file.txt с помощью текстового редактора, длина которого не превышает 80 символов. Написать программу, которая:

1) выводит тест на экран дисплея
2) удаляет все пробелы из текста


1-ю часть я сделала

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <ctype.h> 
using namespace std;
int main(){
const int n =80;
char *s2,a[n];
s2="D:\\Мои документы\\Visual Studio 2008\\Projects\\К.txt";
FILE *f1;
if((f1=fopen(s2,"r"))==0)
{
cout<<"\nError\n";
return 1;
}
int i=0;
while (!feof(f1))
fread(&a[i++],sizeof(char),1,f1);
a[i-1]=0;
cout<<a;
system("pause");
}
подскажите, что нужно сделать во 2 - ой части программы....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2010, 20:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить все пробелы из текста прочитанного из файла (C++):

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

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

Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в файл g - C++
Здравствуйте! Возникла такая проблема, никак не могу докопаться до решения... Задание звучит так: &quot; Дан текстовый файл f. Слова в файле...

Удалить из текста лишние пробелы - C++
Здравствуйте. Помогите написатьпрограмму на С. Удалить из текста лишние пробелы (между словами должен остаться только один пробел). И еще...

Удалить из текста повторные пробелы - C++
Задача: удалить из текста повторные пробелы! подскажите как можно лучше это реализовать методами stl (обойтись без цикла, если это...

Вычитатель пробелов(удалить из текста лишние пробелы) - C++
Помогите создать программу которая вычитает лишние пробелы из текста который надо ввести с клавиатуры(между словами должно быть не более 1...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
17.10.2010, 01:41 #2
Копирование в цикле посимвольно, исключая пробелы.
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
17.10.2010, 14:11  [ТС] #3
C++
1
2
3
4
5
for (i=0;i<n;i++)
 {
     if(a[i]==' ')
         a[i]=a[i+1];
 }
решила попробовать так написать, посмотрите правильно будет??????????
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
17.10.2010, 14:36 #4
Цитата Сообщение от Z_S Посмотреть сообщение
решила попробовать так написать, посмотрите правильно будет??????????
Во первых, а если следующий символ a[i+1] тоже пробел ?
Второе, вы не пропускаете символ, а заменяете на следующий.
Будет что-то в виде
The little red fox -> Thellitlerredffox

Подсказка: используйте continue для пропуска итерации в цикле.
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
17.10.2010, 14:42  [ТС] #5
А нельзя без этого обойтись??????????
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
17.10.2010, 14:56 #6
Цитата Сообщение от Z_S Посмотреть сообщение
А нельзя без этого обойтись??????????
Без чего ? Без пропуска пробелов?
Можно держать два индекса, инкрементировать оба при итерации, а второй ещё на пробелах, копировать в стиле
a[i] = a[j]
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
17.10.2010, 15:04  [ТС] #7
Что-то я совсем ничего не понимаю!!??
Andrew_Lvov
Эксперт С++
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 760
Записей в блоге: 1
17.10.2010, 15:34 #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
int main()
{
    char a[] = " hello  ,spaces! ";
    int n = strlen( a );
    int i = 0;
    for( int j=0; j<n; ++j )
    {
      if( a[j] != ' ' )
      {
        a[i++] = a[j];
      }
    }
    if( i < n )
    a[i] = '\0';
 
    std::cout << a << std::endl;
 
    return 0;
}
Z_S
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 24
30.10.2010, 23:17  [ТС] #9
Не работает!!!???
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2010, 23:17
Привет! Вот еще темы с ответами:

удалить пробелы из текста (файлы последовательного доступа) - C++
нужно написать программу на си которая состоит из трех или более функций одна из которых формирует текстовый файл f из нескольких строк ...

Строки: удалить все пробелы - C++
Всем доброго времени суток. Я учусь на инженера-электрика и вообщем-то засел на задаче по программированию на С++. Буду весьма благодарен...

Удалить все пробелы в строке - C++
можно ли как то с помощью метода string.replace удалить все пробелы в строке? вот так не работает :( string str(&quot;this is test string&quot;); ...

Удалить все лишние пробелы - C++
В чем ошибка? #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int main() { string s;


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.10.2010, 23:17
Ответ Создать тему
Опции темы

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