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

Определение самого часто встречающегося латинского символа в тексте - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В чем отличие указателей и массивов на примере strlen()? http://www.cyberforum.ru/cpp-beginners/thread257644.html
Здравствуйте уважаемые форумчаче. Появился вот такой вопрос. Почему функция strlen работает в таком случае: const int num=100; char arr; //массив cout <<...
C++ знак вопроса что означает знак вопроса вот здесь: double gcd (int x, int y ) { return (( y == 0) ? x : gcd (y, x % y )); } программа про НОК http://www.cyberforum.ru/cpp-beginners/thread257638.html
Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа C++
Разработать программу, обеспечивающую ввод, хранение, обработку и вывод информации о множестве объектов заданного типа. Информация о каждом объекте однотипная, хранится в записи. Список...
C++ Вычесления. Преременные double
Вот я столкнулся с проблемой вычисления. Проблема в том что я обьявил переменные с двойной точностью (double) И врорде всё правильно а программа не считает. Вроде бы она на компьютере он посильнее...
C++ Найти количество ненулевых элементов в заданном файле http://www.cyberforum.ru/cpp-beginners/thread257576.html
Пожалуйста помогите сделать программы: Дан текстовый файл. В этом файле записана последовательность целых чисел, разделенная пробелами. Найти кол-во ненулевых элементов в заданном файле. Дан...
C++ интересно Необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - обработка списка. Сначала в программе должен вводиться размер списка (целое число), а сам... подробнее

Показать сообщение отдельно
IrineK
Заблокирован
15.03.2011, 16:33
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//Определение самого часто встречающегося латинского символа в тексте///////////////////////////
#include <iostream>
#include <fstream>
#include <string>
#define LEN 80
#define LET 26
using namespace std;
 
char latLetter[LET];
 
//подсчет для каждой из букв по одной строке////////////////////////////////////////////////////
void countLetters(char* buf, int* count)
{   int i,j, len;
    len = strlen(buf);
    for(j=0;j<len;j++)
        for(i=0;i<LET;i++) 
            if(buf[j]==latLetter[i]) count[i]++;
}
 
//чтение и обработка строки из файла////////////////////////////////////////////////////////////
void lineLetters(char* path, int* res)
{   int cur[LET], i;
    ifstream iFSTR;
    iFSTR.open(path);
    char buffer[LEN];
    if(iFSTR.is_open())
    {   while (iFSTR.good())
        {   iFSTR.getline(buffer,LEN,'\n');
                cout<<buffer<<"\n";
                for(i=0;i<LET;i++) cur[i]=0;
                countLetters(buffer,cur);
                for(i=0;i<LET;i++) res[i]+=cur[i]; 
        }
    iFSTR.close();
    }
    else 
    {   cout<<"Error opening file\n";
        cin.get();
        exit(1);
    }
}
 
/////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
char c, c_max;
int i, max=0;
//создание массива из прописных латинских букв
for(c='a',i=0; c<='z';c++,i++) latLetter[i]=c;
 
//кво повторений для каждой буквы для всех строк
int total[LET];
for(i=0;i<LET;i++) total[i]=0;
lineLetters("test.txt",total);
 
cout<<"File processed. Press ENTER to proceed\n";
cin.get();
 
//вывод результатов, поиск максимума
system("cls");
cout<<"Usage of each letter (times):\n";
for(c='a',i=0; c<='z';c++,i++)
{   cout<<c<<":\t"<<total[i]<<"\n";
    if(total[i]>max) {max = total[i]; c_max=c;}
}
cout<<"\n\nMaximum usage:\t"<<c_max<<":\t"<<max<<"\n";
 
cin.get();
return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru