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

Дешифровка текстового сообщения

24.10.2014, 19:14. Показов 930. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В С++ я ещё новичок и не могу понять почему при компиляции выбивает ошибку.Нужно написать программу шифровки и дешифровки текстового сообщения. Шифровку выполнить следующим образом: поместить вначале все символы, расположенные на четных позициях строки, а затем, в обратном порядке, все символы, расположенные на нечетных позициях.С шифровкой разобрался,но вот с кодом для дешифровки...Можете подсказать почему выбивает ошибку подобно request for member `insert' in `str', which is of non-class type `char[80]' ? и как это исправить.И есть ли способ улучшить код?Помогите пожалуйста.Сдать нужно уже завтра.
Код для дешифровки:
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
#include <iostream>
#include <conio.h>
#include <string>
using namespace std;
const int string_size=80;
int main(){
    char str[string_size];
    char str1[string_size];
    char str2[string_size];
    char string[string_size];
    cout<<"Enter string: ";
    cin.getline(string,string_size-1);
    int s=strlen(string)/2;
    if(strlen(string)%2==0)
    {
    for(int i=1;i<=s;i++)
    str1.insert(i,string,i,1);
    for(int i=0,j=1;i<=s;i++,j++)
    str2.insert(j,string,strlen(string)-i,1);
    for(int i=1,j=0;strlen(str)<strlen(string);i++,j++)
       {
    str.insert(i+j,str2,i,1);
    str.insert(i+j+1,str1,i,1);
       }
    char *newptr=str;
    *newptr='\0';
    cout<<str;
    }
    else
    {
    for(int i=1;i<=s;i++)
    str1.insert(i,string,i,1);
    for(int i=0,j=1;i<=s+1;i++,j++)
    str2.insert(j,string,strlen(string)-i,1);
    for(int i=1,j=0;strlen(str)<strlen(string);i++,j++)
       {
    str.insert(i+j,str2,i,1);
    str.insert(i+j+1,str1,i,1);
       }
    char *newptr=str;
    *newptr='\0';
    cout<<str;
    }
    getch ();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2014, 19:14
Ответы с готовыми решениями:

Шифровка и дешифровка текстового сообщения
Помогите ,пожалуйста.Задание: написать программу шифровки и дешифровки текстового сообщения....

Дешифровка сообщения матричным методом
Добрый день! Возникла проблема при деифрации, сообщения с файла. Код компилируется, выводит...

Шифрование текстового сообщения
Написать программу шифрования и дешифрования текстового сообщения. Шифрование производится...

Вывод текстового сообщения на консоль
Добрый день форумчане. Начал изучать плюсы и встретил два вида вывода сообщений: cout &lt;&lt;...

8
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
24.10.2014, 20:06 2
Что такое insert? Ты это с Pascal'я передрал?
0
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 13
24.10.2014, 20:44  [ТС] 3
оно и в С++ есть,но походу я его неправильно использую
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
24.10.2014, 20:47 4
Цитата Сообщение от w1ng Посмотреть сообщение
оно и в С++
где???
Цитата Сообщение от w1ng Посмотреть сообщение
char str[string_size];
обыкновенный массив
Цитата Сообщение от w1ng Посмотреть сообщение
str.insert(i+j,str2,i,1);
у массива нет функций
0
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
24.10.2014, 20:48 5
insert есть у класса string, а у тебя строки char. Меняй на string тогда.
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
24.10.2014, 20:50 6
insert есть в классе string может тебе и надо его использовать
0
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 13
24.10.2014, 21:16  [ТС] 7
Цитата Сообщение от nmcf Посмотреть сообщение
insert есть у класса string, а у тебя строки char. Меняй на string тогда.
поменял,теперь компилируется,но программа закрывается сразу после выполнения,даже с использованием getch или system( "pause" )
0
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
25.10.2014, 09:11 8
Покажи, что получилось.
0
0 / 0 / 0
Регистрация: 13.10.2014
Сообщений: 13
27.10.2014, 02:49  [ТС] 9
Цитата Сообщение от nmcf Посмотреть сообщение
Покажи, что получилось.
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
#include <iostream>
#include <conio.h>
using namespace std;
int main(){    
    string str;
    string str1;
    string str2;
    string s1;
    cout<<"Enter string: ";
    cin>>s1;
    int s=s1.size()%2;
    if(s1.size()%2==0)
    {
    for(int i=1;i<=s;i++)
    str1.insert(i,s1,i,1);
    for(int i=0,j=1;i<=s;i++,j++)
    str2.insert(j,s1,s1.size()-i,1);
    for(int i=1,j=0;str.size()<s1.size();i++,j++)
       {
    str.insert(i+j,str2,i,1);
    str.insert(i+j+1,str1,i,1);
       }
    cout<<str;
    }
    else
    {
    for(int i=1;i<=s;i++)
    str1.insert(i,s1,i,1);
    for(int i=0,j=1;i<=s+1;i++,j++)
    str2.insert(j,s1,s1.size()-i,1);
    for(int i=1,j=0;str.size()<s1.size();i++,j++)
       {
    str.insert(i+j,str2,i,1);
    str.insert(i+j+1,str1,i,1);
       }
    cout<<str;}         
    
    getch ();
    return 0;
}
В exe выдаёт This app requiested Runtime to terminate

Добавлено через 6 часов 19 минут
Тема закрыта.Программу переделал.
0
27.10.2014, 02:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2014, 02:49
Помогаю со студенческими работами здесь

Дешифровка сообщения
Доброго времени суток. Помогите, пожалуйста, дешифровать сообщение:...

Дешифровка сообщения на Питоне
Здравствуйте. Написать программу для дешифровки сообщения. которое закодировано неравномерным...

Дешифровка сообщения, зашифрованного методом Бекона
Здравствуйте, меня зовут Игорь. Я начал изучать Python. Буду рад общению и взаимопомощи по данной...

Шифровка/Дешифровка текстового файла
Доброго времени суток! Помогите решите проблему...Имеется текстовый файл (расширения doc).Текст...


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

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