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

Переделать под динамический массив - C++

Восстановить пароль Регистрация
 
degimon
0 / 0 / 0
Регистрация: 01.10.2012
Сообщений: 3
01.10.2012, 22:41     Переделать под динамический массив #1
Добавлено через 31 минуту
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
90
91
92
#include <iostream>
#include <cstring>
using namespace std;
class str{
    char a[30];
public:
    str();
    str(const str& z);
    str operator + (str z);
    str operator = (str z);
    ~str();
    void in();
    void out();
    void del(int k);
    int abc(str z);
};
void main(){
str b,c;
int k,p;
char i =1;
cout<<i;
b.in();
c=b+b;
b.out();
cout<<endl;
c.out();
cout<<endl;
cout<<"nomer: ";
cin>>k;
b.del(k);
b.out();
cout<<endl;
p=b.abc(c);
if(p)
    cout<<"false"<<endl;
else
    cout<<"true"<<endl;
system("pause");
}
 
str::str (){
for(int i=0;i<30;++i){
    a[i]=1;
}
}
str::str(const str& z){
    for(int i=0;i<30;++i){
        a[i]=z.a[i];
    }
}
str str::operator = (str z){
    for(int i=0;i<30;++i){
        a[i]=z.a[i];
    }
    return *this;
}
str::~str(){
    for(int i=0;i<30;++i){
        a[i]=0;
    }
}
void str::in(){
    cin>>a;
}
void str::out(){
    int i, j;
    for(i=0;a[i]!=1;++i){}
    for(j=0;j<i;++j)
        cout<<a[j];
}
void str::del(int k){
    int i=k-1;
    for(i;i<29;++i){
        a[i]=a[i+1];
    }
}
str str::operator + (str z){
    str c;
    int i,j,q;
    for(i=0;a[i]!=1;++i);
    for(j=0;z.a[j]!=1;++j);
    for(q=0;q<i;++q){
        c.a[q]=a[q];
    }
    for(q=0,i;q<j;++q,++i){
        c.a[i]=z.a[q];
    }
    return c;}
int str::abc(str z){
 
    return strcmp(a,z.a);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 22:41     Переделать под динамический массив
Посмотрите здесь:

Переделать одномерный массив под функцию C++
Переделать в динамический массив C++
Нужно переделать под 2х мерный массив C++
C++ Выделить память под динамический массив указателей
Переделать статический массив в динамический C++
Переделать статический массив в динамический C++
Переделать статический массив в динамический C++
Нужно переделать статический массив в динамический C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
01.10.2012, 23:04     Переделать под динамический массив #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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <cstring>
using namespace std;
 
class str
{
    char* a;
public:
    str();
    str(const str& z);
    str operator + (str const& z);
    str& operator = (str z);
    ~str();
    void in();
    void out();
    void del(int k);
    int abc(str z);
};
int main(){
str b,c;
int k,p;
char i =1;
cout<<i;
b.in();
c=b+b;
b.out();
cout<<endl;
c.out();
cout<<endl;
cout<<"nomer: ";
cin>>k;
b.del(k);
b.out();
cout<<endl;
p=b.abc(c);
if(p)
    cout<<"false"<<endl;
else
    cout<<"true"<<endl;
}
 
str::str () : a(new char[30])
{
    for(int i=0;i<30;++i){
        a[i]=1;
    }
}
str::str(const str& z) : a(new char[30])
{
    for(int i=0;i<30;++i)
    {
        a[i]=z.a[i];
    }
}
str& str::operator= (str z)
{
    char* tmp = z.a;
    z.a = a;
    a = tmp;
    return *this;
}
str::~str()
{
    delete[] a;
    a = 0;
}
void str::in()
{
    cin>>a;
}
void str::out()
{
    int i, j;
    for(i=0;a[i]!=1;++i){}
    for(j=0;j<i;++j)
        cout<<a[j];
}
void str::del(int k)
{
    int i=k-1;
    for(i;i<29;++i){
        a[i]=a[i+1];
    }
}
str str::operator + (str const& z)
{
    str c;
    int i,j,q;
    for(i=0;a[i]!=1;++i);
    for(j=0;z.a[j]!=1;++j);
    for(q=0;q<i;++q){
        c.a[q]=a[q];
    }
    for(q=0,i;q<j;++q,++i){
        c.a[i]=z.a[q];
    }
    return c;
}
int str::abc(str z)
{
    return strcmp(a,z.a);
}
Yandex
Объявления
01.10.2012, 23:04     Переделать под динамический массив
Ответ Создать тему
Опции темы

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