Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
grisha770
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 21
#1

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

20.06.2010, 17:07. Просмотров 685. Ответов 5
Метки нет (Все метки)

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

Может быть, кто-нибудь поможет? Заранее спасибо.

Добавлено через 1 час 46 минут
Вот кое-как написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{   int b[256],j,n;
    char c;
    FILE *f;
    clrscr();
    for (j=0;j<n;j++) b[j]=0;
    f=fopen("18.txt","w+");
    puts("Vvedite simv. Konec - *");
    while ((c=getchar())!='*')
    putc(c,f);
    printf("\n");
    fclose(f);
    f=fopen("18.txt","r");
    while ((c=fgetc(f))!=EOF) b[c]++;
    fclose(f);
    for (c='A'; c<='Z'; c++)
    printf("%c-%d raz \n", c, b[c]);
    getch();
    }
Как перевести в проценты кол-во букв, которые встречаются в тексте?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2010, 17:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с текстовыми файлами (C++):

Работа с текстовыми файлами - C++
Мне нужно разработать программу, выводит на экран по желанию пользователя: 1) N первых строк файла; 2) N последних строк файла; 3) вывести...

Работа с текстовыми файлами - C++
Я пишу свой календарь,и у меня задание считать из текстового файла .txt информацию.В текстовом файле записана дата в формате day.month.year...

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

Работа с текстовыми файлами - C++
Люди добрые кто может подскажите)) Задание: Дан текстовый файл, проставить пробелы после знаков препинания &quot;,.?!&quot; если он отсутствует,...

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

Работа с текстовыми файлами - C++
Создать программу, которая обрабатывает файл в последовательном режиме. Данные надо считывать по одному символу (нельзя считывать сразу...

5
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
20.06.2010, 17:10 #2
Цитата Сообщение от grisha770 Посмотреть сообщение
Как перевести в проценты кол-во букв, которые встречаются в тексте?
разделить на общее количество букв в файле и умножить на 100
0
grisha770
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 21
20.06.2010, 17:16  [ТС] #3
Mur3ik, я попробовал. Теперь по нулям все.
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
20.06.2010, 17:34 #4
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
#include <stdio.h>
#include <conio.h>
 
int main(int argc, char* argv[])
{
   int alph[26] = {0};
   int buf, count = 0, offset, i;
   FILE *file;
 
   file = fopen("D:\\progexp\\in.txt", "w");
   offset = 'a' - 'A';
   while ((buf = fgetc(stdin)) != EOF)
   {
      if (buf >= 'a' && buf <= 'z')
      {
         buf -= offset;
         alph[buf-'A']++;
      }
      count++;
      fputc(buf, file);
   }
   fclose(file);
   for (i = 0; i < 26; i++)
   {
      printf("%c - %2.2f%\n", (i+'A'), alph[i]*100./count);
   }
   getch();
   return 0;
}
Добавлено через 31 секунду
Цитата Сообщение от grisha770 Посмотреть сообщение
Mur3ik, я попробовал. Теперь по нулям все.
Про приведение типов не забываем?
1
grisha770
0 / 0 / 0
Регистрация: 14.06.2010
Сообщений: 21
20.06.2010, 17:42  [ТС] #5
kazak, мне б лучше в моем коде расчет в % сделать...
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
20.06.2010, 17:52 #6
Вот товой код исправленный
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <conio.h>
#include <stdio.h>
 
void main()
{   int b[256],j,n =0;
    char c;
    FILE *f;
    clrscr();
    for (j=0;j<256;j++) b[j]=0;/*сдесь вместо 256 была n, причем неинициализированная, как работало - хз*/
    f=fopen("18.txt","w+");
    puts("Vvedite simv. Konec - *");
    while ((c=getchar())!='*')
    {
       putc(c,f);
       b[c]++;
       n++; /*переделаем n под счетчик символов*/
    }
    printf("\n");
    fclose(f);
    for (c='A'; c<='Z'; c++)
    printf("%c - %d raz, budet %3.2f% \n", c, b[c], b[c]*100./n);
    getch();
    }
1
20.06.2010, 17:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2010, 17:52
Привет! Вот еще темы с ответами:

Работа с текстовыми файлами - C++
Дан текстовый файл F. Добавить в его конец символы E,N,D (если необходимо, использовать файл Q). Выручите - очень надо1!

Работа с текстовыми файлами. - C++
Найти самое длинное симметричное слово заданного(придуманного) предложения, например АККА.

Работа с текстовыми файлами - C++
Подскажите плиз как делать на С++ вот такое вот: Даны два текстовых файла. Добавить в конец каждой строки первого файла соответствующую...

Работа с текстовыми файлами - C++
Здравствуйте, уважаемые !!! Появились проблемы во время решения задачи. Никак не могу решить проблему. Задача такова: Существует...


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

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

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