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

Составить описание класса одномерных массивов строк - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Darja
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 31
17.06.2012, 17:02     Составить описание класса одномерных массивов строк #1
Составить описание класса одномерных массивов строк,каждая строка которых задается длиной и указателем на выделенную для нее память. Предусмотреть возможность обращения к отдельным строкам массива по индексам, контроль выхода за пределы индексов, выполнения операций поэлементного сцепления двух массивов с образованием нового массива, слияния двух массивов с исключением повторяющихся элементов, печать (вывод на экран) элементов массива и всего массива.

Очень надеюсь на вашу помощь!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 17:02     Составить описание класса одномерных массивов строк
Посмотрите здесь:

C++. описание класса. определение одномерных массивов C++
C++ [c++]Составить программу обработки одномерных массивов. На основе массивов А(4) и В(4) сформировать третий С(8)
Описание класса для определения одномерных массивов строк фиксированной длины C++
C++ Составить описание класса для определения одномерных массивов
Составить описание класса одномерных массивов строк, каждая строка задается длиной и указателем на выделенную для нее память C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Root2x
 Аватар для Root2x
12 / 12 / 0
Регистрация: 21.05.2012
Сообщений: 52
18.06.2012, 18:41     Составить описание класса одномерных массивов строк #2
Опишите пожалуйста подробнее, что необходимо? Что именно должен содержать класс ( Класс содержит один или несколько массивов строк, необходимо ли перегружать операторы? )?
Darja
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 31
18.06.2012, 19:01  [ТС]     Составить описание класса одномерных массивов строк #3
Класс содержит несколько массивов строк! Все нужно делать по условию! (там все написано ))))
Root2x
 Аватар для Root2x
12 / 12 / 0
Регистрация: 21.05.2012
Сообщений: 52
18.06.2012, 19:31     Составить описание класса одномерных массивов строк #4
Скажите какой тип должны иметь строки? ( char*, wchar_t*, string )

P.S. В принципе можно воспользоваться вектором vector<string>
Darja
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 31
18.06.2012, 23:15  [ТС]     Составить описание класса одномерных массивов строк #5
Ой,даже не знаю.. как будет лучше!
Root2x
 Аватар для Root2x
12 / 12 / 0
Регистрация: 21.05.2012
Сообщений: 52
19.06.2012, 02:44     Составить описание класса одномерных массивов строк #6
В принципе вот. Создан класс имеющий динамический массив строк, перегружены пара операторов. И несколько вспомогательных функций. По сути это лишь оболочка над классом vector.
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
#include <iostream>
#include <vector>
#include <string>
 
#define STOP int _stop; cin>> _stop;
 
using namespace std;
 
typedef unsigned int _uint;
 
class AString
{
public:
    AString();
    AString( _uint );
    virtual ~AString();
 
    string* get_ptr( _uint );
    void clear();
    void resize( _uint );
    _uint size();
 
    string& operator [] ( _uint );
    void    operator = ( AString );
    AString operator + ( AString );
    AString operator += ( AString );
 
protected:
    vector<string> Array;
};
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
103
104
105
106
107
#include "main.hpp"
 
AString::AString()
{
    Array.resize( 2 );
}
 
AString::AString( _uint Size )
{
    Array.resize( Size );
}
 
AString::~AString()
{
    Array.clear();
}
 
string* AString::get_ptr( _uint Index )
{
    return &Array[Index];
}
 
void AString::clear()
{
    Array.clear();
}
 
void AString::resize( _uint Size )
{
    Array.resize( Size );
}
 
_uint AString::size()
{
    return Array.size();
}
 
string& AString::operator [] ( _uint Number )
{
    return Array[Number];
}
 
void AString::operator = ( AString Operand )
{
    _uint i = 0;
 
    Array.resize( Operand.size() > this->Array.size() ? Operand.size() : this->Array.size() );
 
    while( i < ( Operand.size() > this->Array.size() ? this->Array.size() : Operand.size() ) )
    {
        this->Array[i] = Operand[i];
        ++i;
    }
}
 
AString AString::operator + ( AString Operand )
{
    _uint i = 0;
    AString TSArray( Operand.size() > this->Array.size() ? Operand.size() : this->Array.size() );
 
    while( i < ( Operand.size() > this->Array.size() ? this->Array.size() : Operand.size() ) )
    {
        TSArray[i] = this->Array[i] + Operand[i];
        ++i;
    }
 
    return TSArray;
}
 
AString AString::operator += ( AString Operand )
{
    _uint i = 0;
 
    Array.resize( Operand.size() > this->Array.size() ? Operand.size() : this->Array.size() );
 
    while( i < ( Operand.size() > this->Array.size() ? this->Array.size() : Operand.size() ) )
    {
        this->Array[i] += Operand[i];
        ++i;
    }
 
    return *this;
}
 
int main()
{
    AString NSA( 1 ), NSA_2( 2 ), NSA_3( 3 );
 
    NSA[0] = "This is Sparta";
    NSA_2[0] = "This is Russia";
    NSA_3[0] = "This is Good";
 
    cout<< "NSA[0]: " << NSA[0] <<endl;
    cout<< "NSA_2[0]: " << NSA_2[0] <<endl;
    cout<< "NSA_3[0]: " << NSA_3[0] <<endl;
 
    NSA += NSA_3;
    NSA_3 = NSA + NSA_2;
 
    cout<< "NSA + NSA_2: " << NSA_3[0] <<endl;
    cout<< "NSA + NSA_3: " << NSA[0] <<endl;
    cout<< "Adress NSA[0]: " << NSA.get_ptr( 0 ) <<endl;
    cout<< "NSA Size: " << NSA.size() <<endl;
 
    STOP
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2012, 11:02     Составить описание класса одномерных массивов строк
Еще ссылки по теме:

Пытаюсь создать описание класса одномерных массивов строк. В чем моя ошибка? C++
Описание класса для определения одномерных массивов строк. Исправить ошибку C++
Составить из двух одномерных массивов один двумерный C++

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

Или воспользуйтесь поиском по форуму:
Darja
0 / 0 / 0
Регистрация: 24.05.2012
Сообщений: 31
19.06.2012, 11:02  [ТС]     Составить описание класса одномерных массивов строк #7
Спасибо!)
Yandex
Объявления
19.06.2012, 11:02     Составить описание класса одномерных массивов строк
Ответ Создать тему
Опции темы

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