0 / 0 / 0
Регистрация: 18.12.2017
Сообщений: 13
1

Считывание файла. Частотный анализ

10.05.2018, 15:37. Показов 1106. Ответов 1

Author24 — интернет-сервис помощи студентам
Мое задание заключается в подсчете в процентах количества букв в текстовом файле. Суть заключается в том, что у меня считывается только одна строка, и когда я ставлю условие
C
1
while (!file.eof())
, все равно считывается только первая строка. Подскажите как решить данную проблему.
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
38
39
40
41
42
43
#include <fstream>
#include <cstring>
#include <iostream>
#include <clocale> //воспр рус яз
 
using namespace std;
 
int main()
{
const int N=33;
string str;
int alp[N] = {0}, i = 0, counts=0;
double m;
 
    setlocale(LC_CTYPE, "rus"); //рус яз в консоли
    ifstream file("laba11.txt");  //только чтение
//while (!file.eof())
//{
     getline(file, str);
 
       while (str[i])
            {
            if(str[i] >= 'А' && str[i] <= 'Я')
           {
            alp[str[i] - 'А']++;
 
              }
              i++;
              counts++;
           }
//}
 
    for(i = 0; i < N; i++)
        if(alp[i])
         {  m= ((double)alp[i])/(double)counts*100.0;
             printf("буква '%c' - %4d раз(а) и она составляет %.f%%\n", i + 'А', alp[i],m  );
         }
 
 
      cout<<str;
 
     return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2018, 15:37
Ответы с готовыми решениями:

Частотный анализ латиницы
Используя функцию, составить программу для частотного анализа текста (латиницы), то есть...

Частотный анализ текста
Доброго времени суток! Решаю задачу в С++ (среда Borland C++ 3.0) Дан файл, содержащий текст,...

Дан файл, содержащий текст. Провести частотный анализ текста
Умоляю помогите!!:wall: я вообще не знаю как ее делать... а очень нужно на си 5. Дан файл,...

Провести частотный анализ текста, т.е. указать (в процентах), сколько раз встречается та или иная буква
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;string.h&quot; #include &quot;conio.h&quot; void main() ...

1
603 / 403 / 212
Регистрация: 30.04.2017
Сообщений: 743
10.05.2018, 17:26 2
fathutdinovada,
Неа, все работает норм, вставь в цикл распечатку строк
Ты читаешь строку из getline в один и тот же string, поэтому он перезаписывается, но на подсчет букв это не влияет...
Но может я что то не понял...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    while (!file.eof())
    {
        getline(file, str);
        while (str[i])
        {
            if(str[i] >= 'А' && str[i] <= 'Я')
        {
            alp[str[i] - 'А']++;
 
        }
            i++;
            counts++;
        }
        cout<<str<<endl;//Или printf <-----
    }

Не по теме:

Вообще это раздел сишников, а код у тебя на с++, но мы всегда рады гостям с других разделов...

1
10.05.2018, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2018, 17:26
Помогаю со студенческими работами здесь

Частотачный анализ файла
Помогите нужно сделать частотачный анализ текстового файла (в процентах сколько какая буква...

Анализ лог файла apache
Мужики помогите плиз Написать программу анализирующую лог файл сервера apache, рассчитывающую...

Анализ лог-файла маршрутизатора
Написать программу анализирующую лог файл маршрутизатора, отображающую IP адреса, с которых...

Анализ чисел внутри файла
Здравствуйте! В процессе развития скилла в си, часто придумываю себе задания для улучшения...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru