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

Нужно вынести часть программы в отдельный модуль - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Однозвязный список через template http://www.cyberforum.ru/cpp-beginners/thread887472.html
Помогите разобрать код в тех местах где я поставил //???? . Код не мой, и указатели я не очень хорошо понимаю. #include <iostream> using namespace std; ...
C++ Классы: составить описание объектного типа Matrix (инициализации единичной, квадратных матриц, сложение, транспонирование, вычисление определителя) Составить описание объектного типа Matrix, обеспечивающего инициализации единичной матрицы, квадратных матриц, сложение матриц, транспонирование, вычисление определителя матрицы. http://www.cyberforum.ru/cpp-beginners/thread887469.html
C++ Получить строку, в которой наибольшее число знаков препинания
Дан текстовый файл. Получить строку, в которой наибольшее число знаков препинания.
Подключение статической библиотеки (libxls) C++
Здравствуйте, недавно столкнулся с необходимостью читать из .xls файла, нашел для этого библиотеку libxls. В их readme написано, что они "A multiplatform, C/C++ library for parsing Excel(TM) files."...
C++ где моду прочитать о деревьях с нуля? http://www.cyberforum.ru/cpp-beginners/thread887463.html
где моду прочитать о деревьях с нуля?
C++ Как правильно сделать функцию? (Из Паскаля в С++) Добрый день, уважаемые программисты! Подскажите пожалуйста вот такое дело: есть код на Турбопаскале, и надо всё это дело в С++. Вроде бы переводила, переводила, но вот выплыл такой кусок кода и... подробнее

Показать сообщение отдельно
Lilechka
0 / 0 / 0
Регистрация: 08.04.2013
Сообщений: 25

Нужно вынести часть программы в отдельный модуль - C++

01.06.2013, 18:28. Просмотров 1311. Ответов 17
Метки (Все метки)

Помогите вынести 19-36 строки в отдельный модуль, чтобы можно было потом как заголовочный файл .h его подключить

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
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <map>
 
using namespace std;
 
int main() {
    setlocale(LC_ALL,"Rus"); // включаем в консоли русский язык
    const int MAX_PATH = 256; // константа, содержащая максимальную длину имени
    char *fn1 = new char[MAX_PATH]; // строка для хранения имени файла ввода
    cout << "Введите файл для чтения: ";
    cin >> fn1;
    FILE *f = NULL;
    f = fopen(fn1, "r"); // открываем файл для чтения
    if (f == NULL) {
        printf("Файл не найден: \"%s\"\n", fn1);
    } else {
        map<char, int> letter; // создаем контейнер(ассоциативный массив) letter; char - буква, int - сколько раз встречается в тексте
        ifstream input(fn1);                // считывать файл по одному символу
        while (!input.eof())                //пока не конец файла, цикл
            if (input.peek() != EOF)        //если следующий символ во входном потоке не равен концу файла
                letter[input.get()]++;      //плюсуем соответсвующий счетчик
        int res=0;                          //с помощью res считается общее количество символов в тексте
        char c;
        while ((c = fgetc(f)) != EOF) {
            if (c != 10 && c != 13) {
                res++;
            }
        }
        input.close();                      //закрываем входной поток
        cout << "Эти символы встречаются в тексте столько раз" << endl;
        for (map<char, int>::iterator it = letter.begin(); it != letter.end(); it++) {  /*итератор типа map<char,int> (то есть указатель) 
                                                                                        инициализируем адресом первого элемента. 
                                                                                        Пока итератор не равен адресу последнего элемента, итератор++ */
            cout << it->first << '=' << it->second << endl; // берем указатель, разыменовываем его и обращаемся к элементу first структуры
            double chastota = ((double) (it->second)/res)*1.00; // считаем частоту встречаемости символа
            double countInf=-(chastota*(log(chastota)/log(2))); // считаем количество информации для символа
            cout << "Частота встречаемости символа " << it->first << " = ";
            printf("%1.7f", chastota);
            cout << endl;
            cout << "Количество информации = ";
            printf("%1.3f", countInf);
            cout << " бит" << endl;
        }
        cout << "Всего уникальных символов в тексте: " << letter.size() << endl;
        cout << "Всего символов в тексте: " << res << endl;
        return 0;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.