Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 8
1

Непонятная функция в коде

16.04.2014, 07:28. Показов 469. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вопрос всего 1 что это за функция? vector<SMatrixNoParallelogram> MatrixNoParallelogram;

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
// Функция шифрования перестановочным шифром
AnsiString MOVETXT(AnsiString Text,int MOVETXTdx,bool ynConstCount)
{
 if(Text.Length()==0)  // Проверка на существование текста подлежащего шифрованию
  {
  return ""; // Отсутствие шифрованного текста
  }
 AnsiString text_w=""; // Временная переменная для избавления пробелов 
в шифруемом тексте
 for(int i = 0;i<Text.Length();i++) // Цикл избавления от пробелов
  {
  if(Text.c_str()[i]!=' ') // Проверка на пробел
    {
    text_w=text_w+Text.c_str()[i]; // Добавление символа
    }
  }
 Text=text_w; // Получаем текст без пробелов
 AnsiString SHIFR=""; // Будущий шифр
 vector<SMatrixNoParallelogram> MatrixNoParallelogram; // Неправильная матрица символов
 for(int i=0;i<MOVETXTdx;i++) // Цикл создания столбцов неправильной матрицы
  {
  MatrixNoParallelogram.push_back(OMatrixNoParallelogram); // Добавить столбец в неправильную матрицу
  }
 int number_column=0; // Номер текущего столбца матрицы
 for(int i=0;i<Text.Length();i++) // Цикл заполнения матрицы символами
  {
  if(number_column>=MOVETXTdx) // Проверка правильности номера столбца матрицы
    {
    number_column=0; // Возвращение на первый столбец матрицы
    }
MatrixNoParallelogram[number_column].Symvol.push_back(Text.c_str()[i]); 
// Добавление символа в матрицу
  number_column++; // Переход на следующий столбец матрицы
  }
 if(ynConstCount)  // На какие блоки разбивать шифр
  {
  int CountMaxLines=(MatrixNoParallelogram[0].Symvol.size()); 
// Максимальное количество строчек в матрице
  int NumberSymvolToBlock=0; // Номер символа записываемого в зашифрованный блок
  for(int s_MOVETXT=0; s_MOVETXT<MatrixNoParallelogram.size(); s_MOVETXT++)  // Цикл шифрования текста
    {
    for(int i_MOVETXT=0; (i_MOVETXT<(MatrixNoParallelogram[s_MOVETXT].Symvol.size())); i_MOVETXT++) // Цикл прохождения по столбцу матрицы
      {
SHIFR=SHIFR+(MatrixNoParallelogram[s_MOVETXT].Symvol[i_MOVETXT]); // Добавление нового зашифрованного символа
    NumberSymvolToBlock++; // Переход на следующий символ зашифрованного блока
    if(CountMaxLines<=NumberSymvolToBlock) // Проверка правильности номера символ зашифрованного блока
        {
     NumberSymvolToBlock=0; 
// Переход на первый символ зашифрованного блока
     SHIFR=SHIFR+" "; // Разбиение на зашифрованные блоки
        }
      }
    }
  if(NumberSymvolToBlock>0) // Хватило ли символов на последний блок
    {
   for(int s_MOVETXT=0;s_MOVETXT<(CountMaxLines-NumberSymvolToBlock);s_MOVETXT++) // Добавление символов в последний блок
      {
    SHIFR=SHIFR+"x"; // Добавление специального символа X
      }
    }
  }
 else
  {
  for(int s_MOVETXT=0; s_MOVETXT<MatrixNoParallelogram.size(); s_MOVETXT++)  // Цикл шифрования текста
    {
  for(int i_MOVETXT=0; (i_MOVETXT<(MatrixNoParallelogram[s_MOVETXT].Symvol.size())); i_MOVETXT++) // Цикл прохождения по столбцу матрицы
      {
SHIFR=SHIFR+(MatrixNoParallelogram[s_MOVETXT].Symvol[i_MOVETXT]); // Добавление нового зашифрованного символа
      }
   SHIFR=SHIFR+" "; // Разбиение на зашифрованные блоки
    }
  }
 return SHIFR; // Возвращение шифра
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.04.2014, 07:28
Ответы с готовыми решениями:

Непонятная ошибка в коде
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main () { int i; float...

Непонятная ошибка в коде
#include &lt;d3d9.h&gt; #include &lt;strsafe.h&gt; LPDIRECT3D9 g_pD3D = NULL; // Used to create the...

Непонятная ошибка в коде
Здравствуйте. Пытаюсь написать функцию, которая будет вытаскивать из текста в файле числа....

непонятная ошибка в легком коде
#include &lt;iostream&gt; #include &lt;stdio.h&gt; using namespace std; double power(double n, int p)...

3
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
16.04.2014, 08:20 2
Цитата Сообщение от sector666 Посмотреть сообщение
vector<SMatrixNoParallelogram> MatrixNoParallelogram;
это контейнер vector содержащий объекты SMatrixNoParallelogram с названием MatrixNoParallelogram.
обилие комментов расставленных некрасиво режет глаза и разхбираться что там и как не хочется, оформите пожалуйста
0
0 / 0 / 0
Регистрация: 30.03.2014
Сообщений: 8
16.04.2014, 08:41  [ТС] 3
Спасибо что ответили вот код без коментов. Помогите разобраться с контейнером vector и как создать объекты SMatrixNoParallelogram с названием MatrixNoParallelogram

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
// Функция шифрования перестановочным шифром
AnsiString MOVETXT(AnsiString Text,int MOVETXTdx,bool ynConstCount)
{
 if(Text.Length()==0)  
  {
  return ""; 
  }
 AnsiString text_w="";  
в шифруемом тексте
 for(int i = 0;i<Text.Length();i++) 
  {
  if(Text.c_str()[i]!=' ') 
    {
    text_w=text_w+Text.c_str()[i]; 
    }
  }
 Text=text_w; 
 AnsiString SHIFR=""; 
 vector<SMatrixNoParallelogram> MatrixNoParallelogram; 
 for(int i=0;i<MOVETXTdx;i++) 
  {
  MatrixNoParallelogram.push_back(OMatrixNoParallelogram);
  }
 int number_column=0; 
 for(int i=0;i<Text.Length();i++) 
  {
  if(number_column>=MOVETXTdx)
    {
    number_column=0; 
    }
MatrixNoParallelogram[number_column].Symvol.push_back(Text.c_str()[i]); 
 
  number_column++; 
  }
 if(ynConstCount)  
  {
  int CountMaxLines=(MatrixNoParallelogram[0].Symvol.size()); 
 
  int NumberSymvolToBlock=0; 
  for(int s_MOVETXT=0; s_MOVETXT<MatrixNoParallelogram.size(); s_MOVETXT++)  
    {
    for(int i_MOVETXT=0; (i_MOVETXT<(MatrixNoParallelogram[s_MOVETXT].Symvol.size())); i_MOVETXT++) 
      {
SHIFR=SHIFR+(MatrixNoParallelogram[s_MOVETXT].Symvol[i_MOVETXT]);
 
    NumberSymvolToBlock++; 
    if(CountMaxLines<=NumberSymvolToBlock) 
        {
     NumberSymvolToBlock=0; 
 
     SHIFR=SHIFR+" "; 
        }
      }
    }
  if(NumberSymvolToBlock>0) 
    {
   for(int s_MOVETXT=0;s_MOVETXT<(CountMaxLines-NumberSymvolToBlock);s_MOVETXT++) 
      {
    SHIFR=SHIFR+"x"; 
      }
    }
  }
 else
  {
  for(int s_MOVETXT=0; s_MOVETXT<MatrixNoParallelogram.size(); s_MOVETXT++) 
    {
  for(int i_MOVETXT=0; (i_MOVETXT<(MatrixNoParallelogram[s_MOVETXT].Symvol.size())); i_MOVETXT++) 
      {
SHIFR=SHIFR+(MatrixNoParallelogram[s_MOVETXT].Symvol[i_MOVETXT]); 
      }
   SHIFR=SHIFR+" "; 
    }
  }
 return SHIFR; 
}
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.04.2014, 09:33 4
Цитата Сообщение от sector666 Посмотреть сообщение
вот код без коментов.
Отформатировать нормально, никак?
0
16.04.2014, 09:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2014, 09:33
Помогаю со студенческими работами здесь

Транспортная задача, непонятная ошибка в коде!
Добрый день всем, есть вопрос, требующий срочного решения! Ниже приведен исходник программы,...

Непонятная ошибка в нормальном (надеюсь) коде, как исправить?
#include &quot;stdafx.h&quot; #include &lt;string.h&gt; void TaskPaste(FILE * f, FILE * k, char K, char S) {...

Непонятная функция
double getNormalConsequence(double); double getNormalConsequence(double badConsequence)...

Файлы,массивы и динамическое выделение памяти.Непонятная ошибка в коде.
После выполнения сего чудесного мы видим такую картину(даже если закомментировать все...

Непонятная автору функция
Никак не пойму, что делает эта функция. Переведите пожалуйста на русский язык. Очень буду...

Метод половинного деления...(непонятная функция)
Программка, для реализации численного метода половинного деления СЛАУ а^x-b - c - x = 0 а , b...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru