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

Программа кодирования и декодирования - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка массивов http://www.cyberforum.ru/cpp-beginners/thread1043388.html
1.Задано одномерный массив A(20). Упорядочить по возрастанию все положительные элементы с непарными индексами (желательно методом вставки ). 2.Задан двумерный массив A(5,4) .Упорядочить по спаданию положительные элементы всех столбиков матрицы (Пузырьком) .
C++ Что в данном случае означает friend? Всем доброй ночи! Помню, кода-то очень давно мельком видел, что кто-то уже спрашивал аналогичный вопрос, но тогда не придал этому значение, так как абсолютно ничего не понимал, сейчас эту тему не нашёл... Практически всегда вижу, что бинарные операторы обычно перегружают с использованием friend, например: #include <iostream> using namespace std; class MyStr{ char Str; public: MyStr(){}... http://www.cyberforum.ru/cpp-beginners/thread1043356.html
Сортировка выбором(задача) C++
Фаст хелп) Откорректируйте код плз) Условие задачи: есть одноименный массив длиной 40. Отсортировать методом выбора элементы массива, которые являются не кратными числами(числа генерируются рандомно от 0 до 50) #include <iostream> #include <ctime> #include <cstdlib> using namespace std; void display_array() {
C++ Поиск максимального елемента
вот есть код програмы которая генерует случайные числа по нормально закону, и нужно найти максимальный елемент в каждом столбце, но находит только в первом и втором а следующие нет. Может кто знает в чем пробема. #include <stdio.h> #include <conio.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h> #include <random>
C++ Символьный тип данных, выяснить входит ли в последовательность s1, s2, …, sn буква j http://www.cyberforum.ru/cpp-beginners/thread1043323.html
Даны символы s1, s2, … . Известно, что символ отличен от восклицательного знака и что среди s1, s2, … есть по крайней мере один восклицательный знак. Пусть s1, s2, …, sn символы данной последовательности, предшествующие восклицательному знаку (n заранее неизвестно). Выяснить входит ли в последовательность s1, s2, …, sn буква j.
C++ Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста Создать игру "Кто хочет стать миллионером" на языке С++ пожалуйста подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
16.12.2013, 19:26     Программа кодирования и декодирования
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 <algorithm>
#include <string>
#include <vector>
 
struct Symbol
    {
        Symbol(char ch) 
            : symValue(ch), quantity(0)
        {}
       operator char() const
       {
         return symValue;
       }
       char symValue;
       size_t quantity;
       std::vector<size_t> positions;
    };
 
       std::vector<size_t> posits(const std::string & instr, char inch)
       {
         std::vector<size_t> positions;
         const size_t len = instr.length();
         for(size_t i = 0; i < len; i++)
          {
              if( instr[i] == inch)
                  positions.push_back(i);
          }
         return positions;
       }
 
       void PrintPositions(std::vector<size_t> & positions)
       {
           for(std::vector<size_t>::iterator iter = positions.begin(); iter != positions.end(); ++iter)
           {
                std::cout <<  *iter;    
                if( positions.size() > 1 && iter != positions.end() - 1)  std::cout <<   ',';
           }
       }
 
 
    void  Encript (const std::string & instr, std::vector<Symbol> & letters)
    {
        for(std::string::const_iterator iter = instr.cbegin(); iter != instr.cend(); ++iter)
          {
              Symbol sym(*iter);
              letters.push_back(sym);
          }
        std::sort( letters.begin(), letters.end());
        letters.erase(std::unique(letters.begin(), letters.end()), letters.end());
        for(std::vector<Symbol>::iterator iter = letters.begin(); iter != letters.end(); ++iter)
          {
             ( *iter).quantity = std::count(instr.cbegin(),instr.cend(), *iter);
             ( *iter).positions = posits(instr, *iter);       
          }
    }
 
    void PrintTable( std::vector<Symbol> & letters)
    {
        std::cout << "Symbol     quantity     positions\n\n" ;
    for(std::vector<Symbol>::iterator iter = letters.begin(); iter != letters.end(); ++iter)
      {
         std::cout << "    " << ( *iter).symValue << "          " << ( *iter).quantity << "        ";
         PrintPositions(( *iter).positions);
         std::cout << std::endl;          
      }
    }
 
 
    std::string Decript ( std::vector<Symbol> & letters)
    {
        size_t len  = 0;
        std::string outString;
        outString.resize(1000);
        for(std::vector<Symbol>::iterator iter = letters.begin(); iter != letters.end(); ++iter)
      {
            for(std::vector<size_t>::iterator iterPositions = ( *iter).positions.begin(); iterPositions != ( *iter).positions.end(); ++iterPositions)
            {
                outString[(std::string::size_type)*iterPositions] = ( *iter).symValue ; 
                len++;
            }
      }
        outString.erase(len + 1);
        return outString;
        
    }
 
 
int main()
{
    std::string str = " WriteFile(fp, (LPCVOID)&dib.bmiHeader, sizeof(BITMAPINFOHEADER), &dwr, NULL)";  
    std::cout << "Old String :\n"<< str << std::endl << std::endl;
    std::vector<Symbol> letters;
 
    // Шифруем 
    Encript(str, letters);
    // Печать таблицы 
    PrintTable(letters);
    // Вывод расшифрованной строки 
    std::cout << std::endl << "New String :\n"<< Decript( letters) << std::endl;
    
  system("pause");
}
 
Текущее время: 02:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru