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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2013, 16:21   #1
winst2014
Пользователь
 
Аватар для winst2014
 
Регистрация: 15.09.2009
Сообщений: 15
Вопрос Работа с контейнерами

Вообщем задание следующее: считываем с файла английские и русские слова, закидываем их в multimap, после чего вводим с клавиатуры какое-нибудь предложение и получаем перевод, дык только вот я запоролся что-то.

в файлах слова лежат каждое с новой строки:
в файле с рус ловами
слово1
слово2
слово3
и соответственно в анг
перевод1
перевод2
перевод3

считывает с файла норм, введенное первое слово тоже определятся, а вот дальше как то не хочет работать =( вообщем вся проблема в самом цикле, и с русскими словами почему то не хочет работать тоже

Код:
void Translate::LoadTranslate()
{
	setlocale(LC_ALL,"Russian");
	multimap<string, string> words;
	ifstream fin("RusAll.txt"); // файл с Русскими словами
	ifstream fin1("EngAll.txt"); // файл с английскими словами
	
	while ((getline(fin, r)),(getline(fin1, e))) // считываем сразу с 2-х файлов
	{
		words.insert(pair<string, string>(r,e)); // создаем карту
	}
	string x; // строка под предложение введенное с клавиатуры
	cout << "enter text"<< endl;
	getline(cin,x); 
	multimap<string, string>:: iterator k;


	
	string tr;
	string temp;
	
	for(int i=0;i<x.length();i++) // смотрим строку
	{
		if(x[i] != ' ')
		{
			tr[i]=x[i]; // если это не пробел меж словами то копируем символы в tr
		}
		else
		{
			
			temp=tr;
			
			
			k = words.find(temp); // делаем поиск по мапу
			if (k == words.end())
				{
				  cout << temp << endl; // если слово не найдено то выводим без перевода
				}
			else
				{
				  cout << k->second << endl; // если найдено то выводится перевод
				}
			tr=0;
			temp=0;

		}
	}

	
	getch();
}

Последний раз редактировалось winst2014; 18.02.2013 в 16:55.
winst2014 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача. Работа с псевдослучайными последовательностями (ПСП). Работа с цветом. 0101 Помощь студентам 3 17.12.2009 23:57
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00