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

Работа с динамическими строками и массивами строк - C++

Восстановить пароль Регистрация
 
ReN
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 19
24.02.2010, 22:11     Работа с динамическими строками и массивами строк #1
Следующий способ предназначен для шифрования последовательности нулей и единиц ( или точок и тире). Пусть a1,...,an - такая последовательность. Последовательность b1,...,bn - результат шифрования, что создан с помощью следующего закона:
b1=a1;bi={1,если ai=ai-1 (i=2,…,n)
0,в другом случае
Используя наведенный способ, зашифровать и расшифровать заданную последовательность.

Добавлено через 2 минуты
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
#include<iostream.h>
#include <string.h>
 
void main()
{
int i,l;
char *str1[80];
 
cout<<"Vvedite stroku "<<endl;
cin.getline(str1,sizeof(str1));   
 
l=strlen(str1);
str1[l]='\0';
 
char *str2=new char[l+1];
 
//Shifrovanie
str2[0]=str1[0];
for(i=1;i<l;i++)
{ 
 if(str1[i]==str1[i-1])
  str2[i]='1';
   
 else
  str2[i]='0';
 
}
 
str2[l]='\0';
cout<<"Zashifrovanaya stroka"<<endl<<str2<<endl;
 
//Rozshivrovka
str1[0]=str2[0];
for(i=1;i<l;i++)
{ 
 if(str2[i]=='1')
 {
  str1[i]=str2[i];
  str1[i+1]=str1[i];
 }
 
}
 
str1[l]='\0';
cout<<"Rozshifrovanaya stroka"<<endl<<str1<<endl;
 
}
Добавлено через 2 минуты
от сделана программа без динамического выделения памяти но мне надо ваша помощь, чтоб задача была сделана через динамическое выделение памяти

Добавлено через 8 минут
вот нашел ошибку

Добавлено через 17 секунд
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
#include<iostream.h>
#include <string.h>
 
void main()
{
int i,l;
char str1[80];
 
cout<<"Vvedite stroku "<<endl;
cin.getline(str1,sizeof(str1));   
 
l=strlen(str1);
str1[l]='\0';
 
char *str2=new char[l+1];
 
//Shifrovanie
str2[0]=str1[0];
for(i=1;i<l;i++)
{ 
 if(str1[i]==str1[i-1])
  str2[i]='1';
   
 else
  str2[i]='0';
 
}
 
str2[l]='\0';
cout<<"Zashifrovanaya stroka"<<endl<<str2<<endl;
 
//Rozshivrovka
str1[0]=str2[0];
for(i=l;i>1;i--)
{ 
 if(str2[l]=='1')
 {
  str1[l]=str2[l];
  str1[l-1]=str1[l];
 }
 else
 str2[i]='0';
 
}
 
str1[l]='\0';
cout<<"Rozshifrovanaya stroka"<<endl<<str1<<endl;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2010, 22:11     Работа с динамическими строками и массивами строк
Посмотрите здесь:

программка с динамическими массивами C++
Странности с динамическими массивами. C++
C++ Работа с динамическими массивами
C++ Работа с динамическими массивами
C++ работа с динамическими массивами
C++ Работа с динамическими массивами
Работа с динамическими строками C++
C++ Работа со строками, как с массивами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 15:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru