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

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

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

Частота встречаемости символов в файле - C++

27.09.2013, 18:06. Просмотров 1274. Ответов 2
Метки нет (Все метки)

Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле.
На вход программе подается имя входного текстового файла input.txt
На выход в выходной файл output.txt вывести вещественное число - отношение количества вхождений этого символа в данный файл к длине всего файла

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
#include <stdio.h>
#include <stdlib.h>
int main()
{
int mas[256];
FILE*f;
char symbol;
int i,j;
f=fopen("input.txt","r");
for (i=0;i<255;i++)
mas[i]=0;
puts(f);
int k=strlen(f);
for (i=0;i<255;i++)
for (j=0;j<k;j++)
if (symbol[i]=mas[j])
{
mas[symbol]++;
}
fclose(f);
for (i=0;i<255;i++)
{
if (mas[i]>0)               //где то тут должно быть написано f2=fopen("output.txt","w"); и записано значение отношения
printf( символ,кол-во)
}
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2013, 18:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Частота встречаемости символов в файле (C++):

Статистика встречаемости символов в файле - C++
В файле содержится какое либо сообщение, предложение или много предложений. Необходимо подсчитать количество каждого встречаемого символа...

Сделать подсчет частоты встречаемости последовательности символов АБВ в текстовом файле - C++
Народ помогите пожалуйста решить задачу: подсчет частоты встречаемости последовательности символов АБВ в текстовом файле?

Определить частоту встречаемости символов в строке - C++
1.Определить частоту встречаемости символов в строке. 2.Определить значение логического выражения введенного в виде строки без скобок. ...

Частота встречаемости каждой цифры в строке - C++
Здравствуйте. Помогите пожалуйста написать программу. Задание: &quot;посчитать частоту встречаемости каждой цифры в строке&quot;. Для Visual C++ и...

Через HyperTerminal доступна частота COM порта 921600, но в приложении максимальная частота гораздо меньше - C++
Через HyperTerminal доступна частота COM порта 921600, но когда я пишу на C++ максимальная частота гораздо меньше. Кто знает, как на с++...

Шифрование символов в файле - C++
День добрый! Проблема такова: Есть файл содержащий исходный набор символов(текст, строки и т.д.). нужно составить программу для...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
27.09.2013, 19:08 #2
Цитата Сообщение от DJ_POLKAN Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
puts(f);
int k=strlen(f);
for (i=0;i<255;i++)
for (j=0;j<k;j++)
if (symbol[i]=mas[j])
{
mas[symbol]++;
}
каша-мала какая-то!
разве symbol это массив? Где вообще тут чтение из файла? Почему к файлу f пытаешься применить strlen(f)?
Вообще где тут хоть какая-то логика работы?

Короче,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int k=0;
int mas[256]={0};
FILE* f=fopen("input.txt","r");
while(char symbol=fgetc(f)!=EOF) {
  if(symbol>=0) {
      mas[symbol]++;
      k++;
  }
}
fclose(f);
float fraction=1.0f/k;
 
FILE* f2=fopen("output.txt","w");
for (unsigned char i=0;i<255;i++){
  if (mas[i]>0)              
    fprintf(f2, "%c - %f\n", i, mas[i]*fraction)
}
fclose(f2);
1
DJ_POLKAN
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 2
27.09.2013, 21:18  [ТС] #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Короче,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int k=0;
int mas[256]={0};
FILE* f=fopen("input.txt","r");
while(char symbol=fgetc(f)!=EOF) {
  if(symbol>=0) {
      mas[symbol]++;
      k++;
  }
}
fclose(f);
float fraction=1.0f/k;
 
FILE* f2=fopen("output.txt","w");
for (unsigned char i=0;i<255;i++){
  if (mas[i]>0)              
    fprintf(f2, "%c - %f\n", i, mas[i]*fraction)
}
fclose(f2);
Объясни плиз эту строчку:
fprintf(f2, "%c - %f\n", i, mas[i]*fraction);
%с - символьный, %f-вещественный, а зачем там "-"?

Добавлено через 1 час 8 минут
хд) не врубился) дошло) спасибо Kuzia domovenok
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2013, 21:18
Привет! Вот еще темы с ответами:

Сортировка символов в файле - C++
Люди добрые! Помогите с решение задачи :sigh: У меня что-то даже и идеи нет, как ее реализовать :( Помогите кто, пожалуйста :) ...

Замена символов в файле - C++
кто нибудь может написать код программы : с консоли ввести путь к файлу и задать три группы по два любых символа ( например a-b, g-k, 1-3)....

Подсчет символов в файле - C++
Нужно найти сколько в файле букв (а,б,в...) алфавита. Не могу понять как делать. Начал с самого простого char alphabet = { 'А',...

Подсчет символов в файле - C++
Всем привет! Прошу помощи) Надо написать программу, суть которой заключается вот в чем: программе дается файл *.txt, она считывает его...


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

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

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