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

Частотный анализ текста (символьный) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Объясните как работают данные исходники http://www.cyberforum.ru/cpp-beginners/thread168461.html
плиииз объясните мне работы исходников 1 #include <stdio.h> int x; int y; int main() { int n, i, j, u, v, count; scanf("%i", &n); for (i=0; i<n; i++) { scanf("%i%i", &u, &v);
C++ Поиск анаграмм во входном файле Условие. В заданном алфавите слов найти все анаграммы. Входные данные. Есть файл "input.txt" в нем список слов. Выходные данные. Вывести в "out.txt" те слова к который будут найдены анаграммы из исходного алфавита. У меня сейчас основная проблема состоит в чтении этого списка слов. т.к. не известно их кол-во да и длины тоже. http://www.cyberforum.ru/cpp-beginners/thread168457.html
Из Sin в Cos С++ C++
Здраствуйте, мне нужно написать програму которая за рядами Тейлора выводит косинус . Проблема заключаеться в том ,что если програма добавляет елементы сумы Тейлора то (как у меня было в разных интерпретациях цыкла) то после 30 елемента или 70 выдает -1,#IND , а значения аргумента будут вводится от 100. Порывшись на американский сайтах нашел програму которая почти идеально решает задачу для...
Warning C4700: использована неинициализированная локальная переменная "matrix" C++
тогда еще 1 вопрос: при попытке реализовать чтение из файла в виде функции: #include <fstream> #include <iostream> #include <tchar.h> #include <math.h> #include <stdio.h> #include <iomanip>
C++ Метасимвол. http://www.cyberforum.ru/cpp-beginners/thread168445.html
Задание Входной текст хранится в файле и состоит из слов, разделенных пробилами. Ввести из клавиатуры шаблон с метасимволами (метасимвол задается в конкретном варианте). Во входном тексте найти слова (цепочки) за заданной маской. Сформировать исходный файл, превратив входной текст определенным в конкретном варианте способом. Метасимволы в шаблоне могут повторяться, но они все для конкретного...
C++ Возращение результата функции в виде указателя на объект есть функция My_Class* preprocessing(const My_Class* obj) { My_Class* Result = new My_Class(); ... return Result; } внутри неё создается указатель на локальный объект, проводятся действия и он возращается как результат функции. Читал в статье то, что так делать нежелательно. подробнее

Показать сообщение отдельно
tymrfik
 Аватар для tymrfik
2 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 89
11.04.2012, 20:44     Частотный анализ текста (символьный)
Подскажите пожалуйста, почему у меня так происходит: из файла у меня читается строка: "Вот здесь", когда я хочу вывести частоты каждой бвквы, которая встретилась в моем файле (8 букв): то у меня частота буквы В не выводиться, а только с буквы Д идет.
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
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <locale.h>
 
using namespace std;
 
char al[32] ={'Г*','ГЎ','Гў','ГЈ','Г¤','ГҐ','Г¦','Г§','ГЁ','Г©','ГЄ','Г«','Г¬','Г*','Г®','ГЇ','Г°','Г±','ГІ','Гі','Гґ','Гµ','Г¶','Г·','Гё','Г№','Гє','Г»','Гј','ГЅ','Гѕ','Гї'};
int main(int argc, char *argv[])
{
    int i, m;
    char *mes;
    mes = new char[m];
    setlocale(0,"RUS");
    ifstream file ("mess.txt");
    i=0;
     while (!file.eof())
    {
         file>> mes[i];
         cout<<mes[i];
         i++;
    }
    cout<<endl;
    int n=strlen(mes);
    cout<<"êîë-ГўГ® ГўГ±ГҐГµ ñèìâîëîì, âêëþ÷Г*Гї Г§Г*Г*ГЄГЁ ïðåïèГ*Г*Г*ГЁГї="<< n <<endl;
    int u[32]; 
    double e[32];
    int rr=0;
    for(int k=0;k<32;k++){ u[k]=0;}
     for(int k=0;k<32;k++){ 
         for(i=0;i<n;i++){
         if (al[k]==mes[i])
           u[k]=u[k]+1; // Г±Г·ГЁГІГ*ГҐГ¬ ñêîëüêî Г°Г*Г§ âñòðå÷Г*ГѕГІГ±Гї ГЄГ*æäГ*Гї ГЎГіГЄГўГ* Г*ëôГ*ГўГЁГІГ*
             }
            //cout<<u[k]<<endl;
              }   
      for(int k=0;k<32;k++){ rr=rr+u[k];}
      cout<<"êîë-ГўГ® ГЎГіГЄГў Гў ГІГҐГЄГ±ГІГҐ"<<rr<<endl;  
//Г—Г*ñòîòГ*ГіГѕ ГІГ*áëèöó ïîñòðîèì.
  for(int k=0;k<32;k++)
  { e[k]=(double)u[k]/rr;
    cout<<e[k]<<endl;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
Думаю это из-за типа char но не могу никак придумать выхода из-этого... почему пропускается первый символ текста для подсчета?!!!!
 
Текущее время: 19:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru