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

Ввод с клавиатуры, анализ, multimap - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не могу добавить код к проекту http://www.cyberforum.ru/cpp-beginners/thread789723.html
создал пустой проект в VS 2010, проект создался нормально, но вот выпадающее меню там совсем другое, нежели раньше... жму правой кнопкой мыши по проекту, по идее там должен быть пункт "добавить..." а в нем можно выбрать какой файл добавлять, но сейчас там этого нету... пробовал добавить код через меню "Проект->добавить", но тогда файл добавляется в глобальную область... что с настройками...
C++ Задача на if (Если A<=B<=C<=D, то каждое число заменить наибольшим из них...) Вот задача. Даны действительные числа A,B,C,D. Если A<=B<=C<=D, то каждое число заменить наибольшим из них; если A>B>C>D, то числа оставить без изменения; в противном случае все числа заменяются их квадратами. Правильно я ее сделал?? исравте пожалуйста если не правильно! # include <lostream.h>; # include <conio.h>; int main() { http://www.cyberforum.ru/cpp-beginners/thread789722.html
Защита от дурака C++
Вот только начал изучать С++ помогите составить защиту от дурака пожалуйста, вот код: #include <iostream> using namespace std; int main () { setlocale(0, "rus"); double A; double Z; double U;
Pascal to c++ C++
Вот такой имеется код: procedure TForm2.ChangeGridFont; var i: Integer; Col: Integer; Row: Integer; CellCtrl: TStyledControl; begin for Col := 0 to StringGrid1.ColumnCount - 1 do
C++ Дан одномерный массив А, состоящий из N элементов http://www.cyberforum.ru/cpp-beginners/thread789712.html
Помогите пожалуйста написать 2 алгоритма на си++. Первый: Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все положительные элементы, а в конец массива - все отрицательные. Второй: Вычислить S = 1 + 2/2 + (2 4)/(2+4) + ... +(2 4 6 ...(2 N))/(2+4+6+..+(2 N)) для заданного N. Заранее благодарю отличных программистов.
C++ Не работает операция switch-case Программа должна переводить число от 0 до 255 в двоичную систему, побитово декодировать информацию об объекте и выводить её на экран. (например, для числа 123 должно быть: 1111011 Female Senior Long Business yes ) #include "stdafx.h" подробнее

Показать сообщение отдельно
winst2008
 Аватар для winst2008
2 / 2 / 0
Регистрация: 25.05.2012
Сообщений: 18
19.02.2013, 07:34     Ввод с клавиатуры, анализ, multimap
Пытаюсь сделать переводчик на основе multimap, по заданию словарь небольшой ~20 слов, с файла считываю, создаю карту, а вот с анализом предложения, введенного с клавиатуры, возникли проблемы. Пытался заносить в цикле буквы в новый массив пока не будет пробел, но не получилось, и почему то при вводе русских слов какие-то кракозябры при дебаге и быводе на консоль. Вобщем не могу разобраться как выдергивать из предложения по слову. Буду рад, если кто нибудь поможет с кодом или даст пару советов.

Вот собственно код:
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
51
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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru