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

Морзянка... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Зачем нужные поразрядные операции. Книга Павловская, Щупак http://www.cyberforum.ru/cpp-beginners/thread47754.html
Решаю задачу из учебника Павловская, Щупак. С++. Программироание на языке высокого уровня. Структурное программирование. Практикум. Часть 1. Семинар 2. Задача 1. стр. 44. Задачу см. в привязанном файле. Кажется, я решила задачу, программа работает. Но мне не понятно, зачем авторы пишут про поразрядные операции И и ИЛИ. Мне удалось обойтись без них. Может кто-нибудь объяснить, почему речь идет...
C++ проблемы с памятью.... с алгоритмом вроде все нормально но вот происходит такая вещи при определенном действии выдается сообщение которое на скриншоте.... потом высвечивается вот эта строка int Put_Reis(FILE *f_reis, MAP *new_marsh,char*tek_data,int num) { int i, j, reis_count,reis_max,chislo_int,god_int,mesyac_int; char chislo, god,mesyac,tmp,dat_update; LIST_REIS *reis=new LIST_REIS; ... http://www.cyberforum.ru/cpp-beginners/thread47753.html
Матрица.Поиск точки C++
У меня есть матрица 25 х 80.Есть функция,которая принимает ссылку на матрицу и текущее расположение(координаты точки). Мне нужно найти данную точку(т.е. отдельный класс создан). Обзор видимости 5 клеток во всех направлениях у текущей точки.Не могу подробно объяснить,рисунок внизу. Мне нужно найти точку данного типа.Причем лучше алгоритм такой,чтобы найти ближайшую точку. У меня есть класс...
C++ Перегрузка + для строк
есть задача перегрузить = и + таким образом чтобы: строка1=срока2+строка3 с = проблем нет. а вот при перегрузке + выдает ошибку при доступе к закрытым данным //STRING2.H #ifndef STRING2_H #define STRING2_H #include <iostream.h> class String
C++ Как подключить к проекту новый файл с функцией http://www.cyberforum.ru/cpp-beginners/thread47701.html
Есть работающий проект на C++ (dll) Хочу в Visual Studio 2008 создать в проекте отдельный файл и в этом файле создать свою функцию которую можно было бы вызывать из существующих файлов Я создал в проекте новый Пустой файл .cpp написал там свою функцию прописал в существующем файле проекта #include "noviy_fail.cpp" но при определении функции в новом фале выскакивают ошибки из существующих...
C++ Выход по ESC Приветствую вас уважаемые "чатлане"! .Пишет вам "пацак". Я начал с Borland C++ 3.1. Наверное все очень просто на самом деле, но как и у всех начинающих ...Есть инструкция - вывод символа на экран и в порт rs-232,которая зацикливается d бесконечным цикле.Внимание вопрос..- Подскажите, как сделать,чтобы программа завершалась только по нажатию клавиши ESC? void main (void) { ... подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
24.05.2010, 20:03     Морзянка...
Не, с применением STL это дело попроще смотрится.
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <iostream>
#include <string>
#include <locale>
#include <map>
#include <algorithm>
#include <vector>
#include <sstream>
 
typedef std::string  T_text;
 
typedef std::map<char, T_text>  T_symb_to_morse;
T_symb_to_morse                 symb_to_morse;
 
T_text  get_morse_word(const T_text&  word)
{    
    class T_make_morse_word
    {        
        T_text  res_morse_word;
    public:
        void operator()(char symb)
        {           
            res_morse_word.append(symb_to_morse[tolower(symb)]).append(" ");
        }
        operator T_text()
        {
            return res_morse_word;
        }    
    };
    return std::for_each(word.begin(), word.end(), T_make_morse_word());
}
 
T_text  get_morse_text(const T_text&  txt)
{   
    std::istringstream             in_potok(txt);
    std::istream_iterator<T_text>  p_beg(in_potok),  p_end;
    
    std::ostringstream  out_potok;
    
    std::transform(p_beg, p_end, 
                   std::ostream_iterator<T_text>(out_potok, "  "), 
                   get_morse_word);
 
    return out_potok.str();
}
 
int main()
{
    std::locale::global(std::locale("rus"));    
 
    symb_to_morse['a'] = ".-";
    symb_to_morse['b'] = "-...";
    symb_to_morse['c'] = "-.-.";
    symb_to_morse['d'] = "-..";
    symb_to_morse['e'] = ".";
    symb_to_morse['f'] = "..-.";
    symb_to_morse['g'] = "--.";
    symb_to_morse['h'] = "....";
    symb_to_morse['i'] = "..";
    symb_to_morse['j'] = ".---";
    symb_to_morse['k'] = "-.-";
    symb_to_morse['l'] = ".-..";
    symb_to_morse['m'] = "--";
    symb_to_morse['n'] = "-.";
    symb_to_morse['o'] = "---";
    symb_to_morse['p'] = ".--.";
    symb_to_morse['q'] = "--.-";
    symb_to_morse['r'] = ".-.";
    symb_to_morse['s'] = "...";
    symb_to_morse['t'] = "-";
    symb_to_morse['u'] = "..-";
    symb_to_morse['v'] = "...-";
    symb_to_morse['w'] = ".--";
    symb_to_morse['x'] = "-..-";
    symb_to_morse['y'] = "-.--";
    symb_to_morse['z'] = "--..";
 
    symb_to_morse['0'] = "-----";
    symb_to_morse['1'] = ".----";
    symb_to_morse['2'] = "..---";
    symb_to_morse['3'] = "...--";
    symb_to_morse['4'] = "....-";
    symb_to_morse['5'] = ".....";
    symb_to_morse['6'] = "-....";
    symb_to_morse['7'] = "--...";
    symb_to_morse['8'] = "---..";
    symb_to_morse['9'] = "----.";
 
    T_text  text;
    for(;;)
    {
        std::cout << "Введите текст на латинице: " << std::endl;
        getline(std::cin, text);
        if(text.empty()) break;        
        std::cout << std::endl
                  << "Этот же текст на азбуке Морзе:" << std::endl
                  << get_morse_text(text)
                  << std::endl
                  << std::endl
                  << std::endl
                  << std::endl;
    }
    return 0;
}
А можете подсказать, почему у меня в MS VS 2008 при установлении русской локали русский текст на консоль выводится нормально, а вот вводиться с консоли не хочет?
 
Текущее время: 01:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru