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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Смещение элементов одномерного массива http://www.cyberforum.ru/cpp-beginners/thread63331.html
Осуществить сжатие массива А(30), удалив из него все положительные элементы.
C++ Структуры,работа с файлом ув программисты,вот меня заинтересовала работата со структурами,пожалуйста,приведите мне пример проги.Можно так: существует файл в нем записи типа: адресс: номер: зарплата: надо ввести на экран,и вывести в файл данные помогите буду рад ответам http://www.cyberforum.ru/cpp-beginners/thread63005.html
нужно написать программу! C++
программу нужно на с++ В файле заданы координаты концов отрезков. Вывести их на экран. Отдельным цветом выделить три пары отрезков, которые пересекаются и имеют наибольшую суммарную длину. Формат записи данных в файле: Vidrizok1: x1=22; y1=130; x2=340; y2=14; Vidrizok2: x1=45; y1=39; x2=17; y2=200.
C++ Исправьте ошибки!
Перемножение двух матриц. Мой код:#include <stdio.h> #include <conio.h> #include <math.h> #include <stdlib.h> void proizv (int **mas1,int **mas2,int x1,int y1,int y2) { int **mas3; int i,j,k;
C++ MainThread http://www.cyberforum.ru/cpp-beginners/thread62835.html
Обьясните дураку пытаюсь втыкнуть каким макаром строчка MainThread; заменяет весь WinMain?
C++ Как работать с битами? Подскажите, пожалуйста... please... У меня дано число типа WORD. Как мне просмотреть первый и последующие биты в этом числе? И если возможность их изменения? Намного благодарен! подробнее

Показать сообщение отдельно
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
18.11.2009, 00:20     Статистика встречаемости символов в файле
Вот моя реализация на С, исходный текст и результат работы приложил в text.txt
Мракуха какая-то. в неё врубаться надо только пол-часа. как минимум

вот вариант на C++

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
#include <map>
#include <algorithm>
#include <iterator>
#include <fstream>
#include <iostream>
#include <locale>
#include <boost/lambda/lambda.hpp>
 
using namespace boost::lambda;
 
int main()
{
    setlocale(LC_ALL, "");
 
    std::ifstream ifs("input.txt");
    ifs.unsetf(std::ios_base::skipws);
 
    typedef std::map<char, unsigned> M;
    M m;
    typedef std::istream_iterator<char> I;
    std::for_each(I(ifs), I(), ++var(m)[_1]);
 
    for (M::const_iterator it=m.begin(), end=m.end(); it != end; ++it)
    {
        std::cout
            << "Символ " << it->first <<
            " встретился " << it->second << " раз." << std::endl;
    }
 
    return (0);
}
для файла input.txt, состоящего из:
1 2 3
4 5 6
1 2 33
вывод такой:
Символ
встретился 2 раз.
Символ встретился 6 раз.
Символ 1 встретился 2 раз.
Символ 2 встретился 2 раз.
Символ 3 встретился 3 раз.
Символ 4 встретился 1 раз.
Символ 5 встретился 1 раз.
Символ 6 встретился 1 раз.
(первая строка печатает символ "перевод каретки" \n)

подсчитать вероятность встречаемости каждого из них, т.е. разделить количество встречаемости конкретного символа на общее количество символов.

Хорошего понемножку. а это сам делай.
 
Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru