A
aaaaaa
Способ шифрования текста состоит в замене каждого символа алфавита на соответствующий ему порядковый номер. Однозначные номера, чтобы избежать путаницы, записываются так: 01, 02, …, 09. Расшифровать текст сообщения, хранящийся в файле. Результат сохранить в другом файле, продублировав его на экране.
В общем, решил создать из цифр фаила массив вида x={"08","05","12"......} с помощью обьединения строк и добавления в массив.
Программа крашится после вывода тескта фаила. Помогите, пожалуйста, найти ошибку, или подскажите другой способ решения. Заранее благодарен.
В общем, решил создать из цифр фаила массив вида x={"08","05","12"......} с помощью обьединения строк и добавления в массив.
Программа крашится после вывода тескта фаила. Помогите, пожалуйста, найти ошибку, или подскажите другой способ решения. Заранее благодарен.
C++:
#include <iostream>
#include <fstream.h>
#include <stdio.h>
using namespace std;
int main()
{
int j=0;
int k=0;
const int x=26;
const int y=100;
char* code[x]={"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26"};
char* decode[x] ={"a","b","c","d","e","f","g","h","i","g","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
FILE *file = fopen("file.txt","r");
FILE *outfile =fopen ("output.txt", "wb");
char str[y];
char *enter;
while(!feof(file))
{
enter=fgets (str,y,file);
}
puts(str);
int h =strlen(str);
char* results[y];
for (int i=0; i<h; i+=2)
{
k=i+1;
const char* enterc=(const char*)enter[i];
const char* enterca=(const char*)enter[k];
j++;
strcpy(results[j],enterc);
results[j]=strcat(results[j],enterca);
}
for (int i=0; i<h; i++)
{
for (int g=0; g<x; g++)
{
if(results[i]==code[j])
{
results[i]=decode[j];
}
}
}
cout << endl;
fprintf (outfile,"%s",results);
printf ("%s",results);
fclose(file);
return 0;
}