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

Класс, динамический массив строк - C++

Восстановить пароль Регистрация
 
DrARTI
0 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 6
26.04.2013, 20:11     Класс, динамический массив строк #1
Здравствуй, пользователь. Сегодня, наконец выбравшись из рид онли и пройдя процесс регистрация, я спешу попросить тебя о помощи.
Что я имею?
Задание:
Создать класс, включающий в себя динамический массив строк.
Создать методы работы с массивом, а именно: добавить строку в конец\начало, удалить строку из конца\начала.
Причём код должен быть сделан следующим образом: в мейне инициализация и работа с классом, описание класса в заголовке, описание методов класса в отдельном файле.
К данному сообщению в меру своих возможностей работы с этим сайтом я прицепляю свою неудачную попытку написать задание.
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
main:
#include "Header.h"
#include <iostream>
void main (void){
int *size;
size = new int;
std::cout << "Enter size: ";
std::cin >> *size;
string *element;
element = new string [*size];
std::cout << "Enter strings: ";
for(int i=0; i<*size; i++){std::cin >> element[i];};
LinkedList List1(element, *size);
delete(size);
short com=6;
string newstring;
do{switch(com){
case 1: //Вывод содержимого
    List1.show_elements();
    break;
case 2: //Вставка в начало
    std::cin >> newstring;
    List1.insert_beg(newstring);
    break;
case 3: //Вставка в конец
    std::cin >> newstring;
    List1.insert_end(newstring);
    break;
case 4: //Удаление из начала
    List1.remove_beg();
    break;
case 5: //Удаление с конца
    List1.remove_end();
    break;
case 6: //Меню
    List1.menu();
};
std::cin >> com;}while(com!=0);
}
 
 
Заголовок: (Header.h)
#pragma once
#include <string>
typedef std::basic_string<char> string;
class LinkedList {
public:
LinkedList (string*, int);
void insert_beg (string);
void insert_end (string);
void search (string);
void remove_beg (void);
void remove_end (void);
void show_elements (void);
void menu (void);
private:
string *element;
int size;
};
 
 
Реализация методов:
#include "Header.h"
#include <iostream>
LinkedList::LinkedList(string *element_in,int size_in){
size = size_in;
element = new string [size];
for(int i=0;i<size;i++){element[i].swap(element_in[i]);};}
void LinkedList::show_elements(void){for(int i=0;i<size;i++)std::cout << element[i] << std::endl;}
void LinkedList::insert_beg(string newstring){
string *rs;
rs = new string[size];
for(int i=0;i<size;i++){rs[i].swap(element[i]); /*element[i].~basic_string();*/};
size++;
//delete(element);
element = new string[size];
element[0].swap(newstring);
for(int i=0; i<size; i++){element[i+1].swap(rs[i]);};}
void LinkedList::insert_end(string newstring){
size++;
element[size]=newstring;}
void LinkedList::remove_beg(void){
for(int i=0;i<size;i++){element[i].swap(element[i+1]);}
size--;}
void LinkedList::remove_end(void){size--;}
void LinkedList::menu(void){
std::cout << "Press 1 to show elements" << std::endl <<
"Press 2 to insert in the begining" << std::endl <<
"Press 3 to insert in the end" << std::endl <<
"Press 4 to remove from the begining" << std::endl <<
"Press 5 to remove from the end" << std::endl <<
"Press 6 to summon this menu again" << std::endl;}
Чего я хочу?
В принципе, от желающих мне помочь я много просить не могу. Но очень хотелось бы рабочую реализацию массива в классе с рабочей реализацией хотя бы одного метода (вставки в начало, на пример). Если возможно - всё с пояснениями.
Надеюсь, ничего не перепутал. Всем вам заранее большое спасибо.

Добавлено через 21 час 39 минут
Поднимаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 20:11     Класс, динамический массив строк
Посмотрите здесь:

C++ Динамический массив строк
Класс-динамический массив... C++
C++ динамический массив строк
C++ Создать класс-динамический массив
C++ Описать класс, хранящий динамический массив
C++ Динамический массив строк
C++ Создать класс который реализует динамический массив
Класс динамический массив строк C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrARTI
0 / 1 / 0
Регистрация: 25.04.2013
Сообщений: 6
27.04.2013, 21:01  [ТС]     Класс, динамический массив строк #2
Поднимаю.
Yandex
Объявления
27.04.2013, 21:01     Класс, динамический массив строк
Ответ Создать тему
Опции темы

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