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

Частотный анализ. Криптоанализ шифра замены. С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввести 10 целых чисел, вывести минимальную по абсолютной величине разность между соседними числами. http://www.cyberforum.ru/cpp-beginners/thread186356.html
Ввести 10 целых чисел, вывести минимальную по абсолютной величине разность между соседними числами. помогите пожалуйста
C++ Ошибка компиляции При компиляции следующего кода возникает ошибка: #include <iostream> using namespace std; int main() { int m; int n; //n*m cout << "Введите размер матрицы: "; http://www.cyberforum.ru/cpp-beginners/thread186351.html
C++ Создать класс Employee,
Для следующих классов создать: -дружественную функцию show(), которая выводит информацию об объекте, используя доступ к элементам класса в своей работе; -функцию, которая использует объект в качестве аргумента и редактирует свойства(переменные) класса; - проинициализировать объект класса, используя функцию, возвращаемым значением которой является объект; Продемонстрируйте работу функций. ...
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового адреса человека. Создайте объекты для каждого класса. Используя дружественную функцию, выведите на экран полный набор данных личности.
C++ Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента http://www.cyberforum.ru/cpp-beginners/thread186346.html
Создать класс для реализации комплексных чисел в алгебраической форме. Используя функции с объектом в качестве аргумента, реализовать сложение, вычитание, деление и умножение комплексных чисел.
C++ 3 действия была бы очень признательна если бы помогли разобраться с текстом программы Написать программу, выполняющую последовательно все действия 1 - оператор цикла с параметром - ввести значение z . при z>=0 , y= 3*x+z, при z <0 , y = x^2+2*x+z при изменении х от 2.5 до 5 с шагом 0.5 2 - цикл с предусловием - организовать последовательный ввод N вещественных элементов массива .определить... подробнее

Показать сообщение отдельно
chesar
56 / 53 / 5
Регистрация: 15.12.2009
Сообщений: 231
Записей в блоге: 1
29.11.2010, 22:22  [ТС]     Частотный анализ. Криптоанализ шифра замены. С++
Нашел несколько косяков. Но теперь такая проблема. Запись в файл происходит, и файл получается такого же размера, как зашифрованный, но бинарный! Как быть?
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
//---------------------------------------------------------------------------
#include <stdlib.h>
#include <vcl.h>
#pragma hdrstop
#include <stdio.h>
#include <conio.h>
#pragma argsused
 
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
//---------------------------------------------------------------------------
//Часть 1. Получаем встречаемость для каждого символа.
int stmas[256], j, c;
 
 FILE *f;   //Это файл исходника
   if ((f=fopen("D:\\nw\\f.txt", "r"))==NULL)
   {ShowMessage("FILE NOT FOUND!"); return 0; }
 
 FILE *Cryptofile;
   if ((Cryptofile=fopen("D:\\nw\\Crypt.txt", "r"))==NULL)
   {ShowMessage("FILE NOT FOUND!"); return 0; }
 
 
 FILE *f2;
   if ((f2=fopen("D:\\nw\\f2.txt", "w"))==NULL)
   {ShowMessage("FILE NOT FOUND!"); return 0; }
 
 FILE *f3;
   if ((f3=fopen("D:\\nw\\f3.txt", "w"))==NULL)
   {ShowMessage("FILE NOT FOUND!"); return 0; }
 
for (j=0; j<256; j++) stmas[j]=0;
 
while ((c=fgetc(f))!=EOF) stmas[c]++;
 
//------------------------------------------------------------------
int cmas[256];
c=0;
for (j=0; j<256; j++) cmas[j]=0;
 
while ((c=fgetc(Cryptofile))!=EOF) cmas[c]++;
fclose(Cryptofile);
 
//------------------------------------------------------------------------
//Часть 2. Упорядочиваем статистику по убыванию.
 
int max,i, ind, sorticx[256];
 
for (j=0; j<256; j++)
    {sorticx[j]=0; max=0; ind=0;
    for (i=0; i<256; i++)
         { if (stmas[i]>max)
               {max=stmas[i]; ind=i;}
          }
     sorticx[j]=ind; stmas[ind]=0;
 
     }
//---------------------------------------------------------------
int sortcrypt[256];
for (j=0; j<256; j++)
    {sortcrypt[j]=0; max=0; ind=0;
    for (i=0; i<256; i++)
         { if (cmas[i]>max)
               {max=cmas[i]; ind=i;}
          }
     sortcrypt[j]=ind; cmas[ind]=0;
          }
//--------------------------------------------------------------------------
//Часть 3. Дешифрование.
int s;  Cryptofile=fopen("D:\\nw\\crypt.txt","r");
c=0;
while ((c=fgetc(Cryptofile))!=EOF)
  { for (i=0; i<256; i++)
    { if (sortcrypt[i]=c) s=sorticx[i];
    }
    fprintf (f3,"%c",s);
  }
 
 
 
 
fclose(f);  fclose(f2);  fclose(f3); fclose(Cryptofile);
printf("OK");
 
getch(); getch();
        return 0;
}
//---------------------------------------------------------------------------
Добавлено через 2 часа 43 минуты
Народ. Ну обратите внимание! Уделите пару минут! Ни есть, ни пить, ни спать не могу )))))
 
Текущее время: 15:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru