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

В тексте убрать лишние пробелы и разделительные символы - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 17:47     В тексте убрать лишние пробелы и разделительные символы #1
1. Определить какие символы и сколько раз встречаются в тексте.
Или
2. В тексте убрать лишние пробелы и разделительные символы, оставив между словами только по одному пробелу.
Нужна помощь. Текст должен считываться из файла. Заранее благодарю, завтра сдавать надо, а то бы не спрашивал, сам сделал.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2010, 17:47     В тексте убрать лишние пробелы и разделительные символы
Посмотрите здесь:

Выделить в тексте лишние пробелы между словами C++
Лишние пробелы C++
C++ Убрать лишние пробелы
Удалить лишние пробелы C++
C++ В тексте удалить лишние пробелы и расположить слова в порядке возрастания длинн
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lego69
 Аватар для lego69
3 / 3 / 1
Регистрация: 19.01.2010
Сообщений: 26
19.01.2010, 17:54     В тексте убрать лишние пробелы и разделительные символы #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define MAXLEN 255 //длина строки
int main()
{
        char str[MAXLEN];//вводимая строка
        int Count[MAXLEN];//счетчик для каждого символа
        int i;//счетчик
        for(i=0;i<MAXLEN;i++)
                Count[i]=0;//обнуление массива
        printf("Please enter a string:\n");
        gets(str);//ввод строки
        int len=strlen(str);//кол-во введенных символов
        for(i=0;i<len;i++)
                Count[str[i]]++;//увеличение счетчика для i-го сивола
        for(i=0;i<MAXLEN;i++)
                if(Count[i])printf("%c-%d\n",i,Count[i]);//вывод если не ноль
        getch();
return 0;
}
ну думаю, что считать с файла уже сможешь сам)
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 19:44  [ТС]     В тексте убрать лишние пробелы и разделительные символы #3
что то не получается)))
lego69
 Аватар для lego69
3 / 3 / 1
Регистрация: 19.01.2010
Сообщений: 26
19.01.2010, 19:49     В тексте убрать лишние пробелы и разделительные символы #4
что именно?
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 19:55  [ТС]     В тексте убрать лишние пробелы и разделительные символы #5
ну пишет что то про преобразование типов...выкладывать свое не буду, там бессмысленно, это 5 строчек
lego69
 Аватар для lego69
3 / 3 / 1
Регистрация: 19.01.2010
Сообщений: 26
19.01.2010, 20:22     В тексте убрать лишние пробелы и разделительные символы #6
лучше бы выложили, яснее было б в чем проблема.
код рабочий.
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 20:40  [ТС]     В тексте убрать лишние пробелы и разделительные символы #7
нет не работает вместе в моим "считыванием из файла", а так все работает
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
19.01.2010, 20:44     В тексте убрать лишние пробелы и разделительные символы #8
ну выложите ваш код. Так же фиг поймёшь в чём у вас проблема!
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 20:52  [ТС]     В тексте убрать лишние пробелы и разделительные символы #9
да его выкладывать чисто чтобы вам посмеяться))
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
19.01.2010, 20:54     В тексте убрать лишние пробелы и разделительные символы #10
хм...посмотри у меня в профиле мои темы...с чего я начинал. Не было ничего смешного.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.01.2010, 21:00     В тексте убрать лишние пробелы и разделительные символы #11
Что решаем бестолку, исходник надо видеть, раз ошибка после внесения новшеств.

Добавлено через 1 минуту
mybabloo сам такой логин придумал.
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 21:10  [ТС]     В тексте убрать лишние пробелы и разделительные символы #12
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 fflush(stdin);
 clrscr ();
 FILE *F;
 char ch, *text=(char *)malloc(sizeof (char));
 int length=0;
 FILE *f;
 if(!(f = fopen("1.txt", "rt"))) {printf("cant open this file");}
 
 
    while ((ch=getc (f))!=EOF)
    {
        text=(char*) realloc (text, (length+2)*sizeof (char));
        text [length++]=ch;
    }
ну вот это дописал сверху.

Добавлено через 7 минут
соответственно подключив stdlib
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.01.2010, 21:14     В тексте убрать лишние пробелы и разделительные символы #13
Пожалуйста собери сюда весь текст

Добавлено через 46 секунд
Я хоть с отладчиком проверю в каком месте затык
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 21:21  [ТС]     В тексте убрать лишние пробелы и разделительные символы #14
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <stdlib.h>
#define MAXLEN 255 //длина строки
int main()
{
 
 fflush(stdin);
 clrscr ();
 FILE *F;
 char ch, *text=(char *)malloc(sizeof (char));
 int length=0;
 FILE *f;
 if(!(f = fopen("1.txt", "rt"))) {printf("cant open this file");}
 
 
    while ((ch=getc (f))!=EOF)
    {
        text=(char*) realloc (text, (length+2)*sizeof (char));
        text [length++]=ch;
    }
        
        char str[MAXLEN];//вводимая строка
        int Count[MAXLEN];//счетчик для каждого символа
        int i;//счетчик
        for(i=0;i<MAXLEN;i++)
                Count[i]=0;//обнуление массива
 
        int len=strlen(ch);//кол-во введенных символов
        for(i=0;i<len;i++)
                Count[ch[i]]++;//увеличение счетчика для i-го сивола
        for(i=0;i<MAXLEN;i++)
                if(Count[i])printf("%c-%d\n",i,Count[i]);//вывод если не ноль
        getch();
return 0;
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.01.2010, 21:31     В тексте убрать лишние пробелы и разделительные символы #15
int len=strlen(ch); //Это по твойму длинна буффера.
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 21:34  [ТС]     В тексте убрать лишние пробелы и разделительные символы #16
ну а как исправить?
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.01.2010, 21:35     В тексте убрать лишние пробелы и разделительные символы #17
char str[MAXLEN]; //а это зачем, где это применяется

Добавлено через 1 минуту
В чём смыл проги, вывести текст из файла, или что?
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 21:37  [ТС]     В тексте убрать лишние пробелы и разделительные символы #18
это я не удалил)))смысл считать текст из файла и вывести какие и сколько символов встречаются в тексте
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
19.01.2010, 21:55     В тексте убрать лишние пробелы и разделительные символы #19
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Сейчас переделаю на свой вкус

Добавлено через 11 минут
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include <stdlib.h>
 
int main()
{
 FILE *F = NULL;
 char ch, *text=(char *)malloc(sizeof (char));
 int length=0;
 FILE *f;
 if(!(f = fopen("C:\\vv.txt", "rt"))) {printf("cant open this file");}
        while ((ch=getc (f))!=EOF)
        {
                text=(char*) realloc (text, (length+2)*sizeof (char));
                text [length++]=ch;
        }
 
        fclose(f);    //закрываем поток
 
        //вывод количества символов
        printf("colvо symbols\t"); 
        printf("%d",length);
        printf("\n");
        for(int i=0;i<length;i++)printf("%c",text[i]);
        getch();
 
free(text);       //освобождение память из под буффера
text = NULL;
 
return 0;
}
Добавлено через 2 минуты
Вроде приближено к сути
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2010, 22:06     В тексте убрать лишние пробелы и разделительные символы
Еще ссылки по теме:

C++ В тексте все символы, стоящие после последней точки, заменить на пробелы
C++ Как убрать лишние символы при выводе в консоль списка файлов?
Убрать лишние пробелы в строке C++

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

Или воспользуйтесь поиском по форуму:
mybabloo
 Аватар для mybabloo
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 40
19.01.2010, 22:06  [ТС]     В тексте убрать лишние пробелы и разделительные символы #20
теперь надо попытаться присобачить счетчик каждого символа по-отдельности...
Yandex
Объявления
19.01.2010, 22:06     В тексте убрать лишние пробелы и разделительные символы
Ответ Создать тему
Опции темы

Текущее время: 17:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru