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

Перестановочный шифр. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Даны действительные числа a1,…,an,b1,…,bn. http://www.cyberforum.ru/cpp-beginners/thread423874.html
Здравствуйте, пожалуйста помогите решить! Даны действительные числа a1,…,an,b1,…,bn. Вычислить: (a1 +bn )(a2 +b(n-1) )…(an+b1 ).
C++ Сумма четных элементов Народ, кто может как можно кратко написать программу, которая считает сумму четных элементов массива? Просто с длинным кодом у меня не работает...((( http://www.cyberforum.ru/cpp-beginners/thread423866.html
C++ функция, которая из исходной квадратной матрицы формирует диагональную матрицу
Написать и протестировать функцию, которая из исходной квадратной матрицы формирует диагональную матрицу и определяет сумму её положительных элементов.
метод гауса..обьясните как работает программа C++
ipMatr(); for(opMatr(),k=0;k<=n;k++) //прямой ход метода Гаусса; {for(aa=fabs(a),i=k,j=k+1;j<=n;j++)//поиск макс. ел-та; if(fabs(a)>aa){i=j;aa=fabs(a);}; if(aa<0) {printf("Система не имеет единственного решения!!!"); getch(); } for(j=k;(j<=n+1)&&(i!=k);j++) //перестановка i-ой строки;
C++ как работает эта функция http://www.cyberforum.ru/cpp-beginners/thread423839.html
помогите составить алгоритм ipMatr(); for(opMatr(),k=0;k<=n;k++) //прямой ход метода Гаусса; {for(aa=fabs(a),i=k,j=k+1;j<=n;j++)//поиск макс. ел-та; if(fabs(a)>aa){i=j;aa=fabs(a);}; if(aa<0) {printf("Система не имеет единственного решения!!!"); getch(); }
C++ ак посмотреть на главное окно приложения в MVS? При создании проекта Win32 в Visual C++, можно визуально редактировать только диалоговые окна, или как-то можно редактировать и главное окно? подробнее

Показать сообщение отдельно
tymrfik
 Аватар для tymrfik
2 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 89
08.01.2012, 00:26  [ТС]     Перестановочный шифр.
У меня и должно получится 30 "1". В каждой строке по одной "1", только нужно правильно заполнить для этого матрицу. А про места я имел в виду, что сначала единица в первой строке стоит на 0 месте, затем спускаемся на строчку (во второй) "1" заносим в строке на 0+6=6 место - т.е. пропускается пять символов, дальше на третей строке "1" заносится на 6+6=12 и так по строкам идти, на 6 строке получается "1" ставится на 24 место, а вот на 7 строке нужно начинать с 1, и чтобы 1+6=7, потом 13, потом 19 и т.п. Вот что я подразумевал. Мне не удается именно правильно заполнить таким образом матрицу С.

Добавлено через 1 час 6 минут
Здесь только Шифр, пока не обработанный в отдельную функцию. Но главное можете проверить на правильность?! пожалуйста!
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
#include <cstdlib>
#include <iostream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    int n, c[30][30], m[30], e[30],i,k,j, l[30]; 
    char w[31]="molokomolokomolokomolokomoloko"; 
    /*cout<<"text"<<endl;
    cin>>w;*/
   for (i=0;i<strlen(w);i++)
     { 
       cout<<w[i];
       m[i]=i;
       }
    cout<<endl; 
   for(j=0;j<strlen(w);j++) {cout<<m[j];}
   cout<<endl;
  // for (i=0;i<strlen(w);i++)
   for(i=0;i<30;i++){
   for(j=0;j<30;j++){
     c[i][j]=0;
       }
       }
   for(j=0;j<30;j++){
       if (6*j<30)
        { c[j][(6*j)]=1;}
        else {
             if (j>4 &&j<10)
        {c[j][(6*j%30)+1]=1;}
         if (j>9 &&j<15)
        {c[j][(6*j%30)+2]=1;}
        if (j>14 &&j<20)
        {c[j][(6*j%30)+3]=1;}
        if (j>19 &&j<25)
        {c[j][(6*j%30)+4]=1;}
        if (j>26 &&j<31)
        {c[j][(6*j%30)+5]=1;}
        }
        }
   for(i=0;i<30;i++){
   for(j=0;j<30;j++)                          
      printf("%d ", c[i][j]);
    printf("\n");
  }
  for (i=0; i<30; ++i){
            e[i]=0;
  for (int r=0; r<30; r++){
                e[i]+=c[i][r]*m[r];
                }
}
     for (i=0; i<30; ++i) {
           cout<<e[i];
           }  
    cout<<endl;
      for (i=0; i<strlen(w); ++i) {
           cout<<w[e[i]];
                }  
    system("PAUSE");
    return EXIT_SUCCESS;
}
Добавлено через 1 минуту
если нетрудно напишите пожалуйста дешифратор?! заранее благодарен за посильную помощь!
 
Текущее время: 04:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru