Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2012, 21:10   #1
dcPEOP
Новичок
Джуниор
 
Регистрация: 25.01.2012
Сообщений: 2
По умолчанию <vector>

Код:
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

void smb_in();

int main()
{
	smb_in();
	return 0;
}

void smb_in()
{
	ifstream in("text.txt", ios::binary);					//Открываем в бинарном режиме файл для чтения
	vector<char> smb_name;									//Создаем вектор для "названия" символов
	vector<unsigned long> smb_n;							//Вектор для подсчета количества символов

	while (!in.eof())										//Пока не достигнем конца файла
	{
		char smb_cur;
		in.get(smb_cur);									//Текущий символ в цикле
		
		int i = 0;
		for (i = 0; i < smb_name.size(); i++)
			if (smb_name[i] == smb_cur) break;				//Если находим в векторе совпадающий символ прерываем цикл

		if (i == smb_name.size())							//Если символ не найден, то ...
		{
			smb_name.push_back(smb_cur);					//Добавляем в базу его "имя"
			smb_n.push_back(1);								//И кол-во повторений (1)
		}
		else smb_n[i]++;
	}
	
	in.close();												//Закрываем файл

	for (int j = 0; j < smb_name.size(); j++)				//Выводим собранную базу на экран
		cout << smb_name[j] << ' ' << smb_n[j] << endl;
}
Консоль при запуске висит, почему так происходит?
dcPEOP вне форума Ответить с цитированием
Старый 25.01.2012, 21:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А ты не хочешь пройтись по программе трассировкой? Выяснишь на каком операторе вис.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2012, 11:28   #3
dcPEOP
Новичок
Джуниор
 
Регистрация: 25.01.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А ты не хочешь пройтись по программе трассировкой? Выяснишь на каком операторе вис.
Нашел:

Код:
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
 
void smb_in(char *name);
 
int main()
{
		char *name;
		cout << "Enter the path: ";
		cin >> name; smb_in(name);
        return 0;
}
 
void smb_in(char *name)
{
		ifstream in(name, ios::in | ios::binary);                               //Открываем в бинарном режиме файл для чтения
        vector<char> smb_name;                                                  //Создаем вектор для "названия" символов
        vector<unsigned long> smb_n;                                            //Вектор для подсчета количества символов
 
        while (!in.eof())                                                       //Пока не достигнем конца файла
        {
                char smb_cur;
                in.get(smb_cur);                                                //Текущий символ в цикле
                
                int i = 0;
                for (i = 0; i < smb_name.size(); i++)
                        if (smb_name[i] == smb_cur) break;                      //Если находим в векторе совпадающий символ прерываем цикл
 
                if (i == smb_name.size())                                       //Если символ не найден, то ...
                {
                        smb_name.push_back(smb_cur);                            //Добавляем в базу его "имя"
                        smb_n.push_back(1);                                     //И кол-во повторений (1)
                }
                else smb_n.at(i)++;
        }
        
        in.close();                                                             //Закрываем файл
 
        for (int j = 0; j < smb_name.size(); j++)								//Выводим собранную базу на экран
			cout << smb_name[j] << " - " << smb_n[j] << endl;
}
Код:
ios::in
- это важно d msvs2010
dcPEOP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос в vector vashaira Помощь студентам 0 01.12.2011 17:37
class vector Proghelper Помощь студентам 5 09.12.2010 21:31
#include <vector> GBAXA Visual C++ 12 15.08.2010 11:25
vector NiCola999 Помощь студентам 5 26.02.2010 08:37
std::vector ciaonataha Общие вопросы C/C++ 1 10.05.2009 15:50