![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.01.2011
Сообщений: 51
|
![]()
помогите до делать контрольную. 1 и 3 я задание сделал а второе не получается времени нету.
вот сами задание: Задание: Создать и протестировать следующие классы 1. Абстрактный класс. Создать абстрактный класс Container, в котором определить чисто виртуальные функции для добавления, удаления и определения количества элементов в контейнере. Вот код к нему: template<class T> class T_container { public: virtual ~T_container() {} virtual void insert (const T& t) = 0; virtual void erase (const T& t) = 0; virtual size_t size () = 0; }; ///////////////////////////////////////////////////////////////////////////////////////// int main() { } 2. Класс одиночного наследования. a) Модифицировать класс динамической структуры данных,содержащей строки (л.р. №2), чтобы он был производным от класса Container. б) Создать 2 различных класса, производные от класса динамической структуры, позволяющие сортировать и фильтровать выходные данные. Для этого вводятся виртуальные функции, соответственно, для сортировки – функция для сравнения 2 строк, для фильтрации – предикат, определяющий, будет ли строка присутствовать в выборке фильтра. вот это я не пойму как сделать. помогите буду очень благодарен. 3. Класс множественного наследования. Создать класс, осуществляющий одновременно сортировку и фильтрацию. Варианты заданий: Сортировка 1. по возрастанию длины строки 2. по убыванию длины строки 3. по возрастанию целого значения, содержащегося в строке 4. по убыванию вещественного значения, содержащегося в строке 5. по возрастанию количества пробелов в строке 6. по убыванию количества цифр в строке 7. по возрастанию строк 8. по убыванию строк Фильтр 1. четные целые числа, содержащиеся в строке 2. нечетные целые числа, содержащиеся в строке 3. палиндромы 4. вещественные числа, содержащиеся в строке 5. строки четной длины 6. строки, не содержащие пробельные символы 7. строки, содержащие подстроку “ООП” Вот код программы: #include <iostream.h> #include <conio> class test { protected: enum {size=256}; char* mas[size]; int I; public: test(){I=0;} void add(char* c) { mas[I++]=c; } }; class sort: public test { private: char* temp; char** Ptr; public: sort() {Ptr = mas;} void dis(); }; void sort: ![]() { char* temp; char var; ////////////////////////////////////// cout << "Nesortirovanniy massiv:\n"; for(int j=0; j<I; j++) cout << Ptr[j] << endl; ////////////////////////////////////// for(int i=0; i<I; i++) { for(int u=0; u<I-1; u++) { if(strlen(Ptr[u]) > strlen(Ptr[u+1])) { temp = Ptr[u]; Ptr[u] = Ptr[u+1]; Ptr[u+1] = temp; } } int v1=strlen(Ptr[i]); for(int t=0; t<v1; t++) { for(int k=0; k<v1; k++) { if((Ptr[i][k]-'0')%2==0) { var = Ptr[i][k]; Ptr[i][k] = Ptr[i][t]; Ptr[i][t] = var; } } } } //////////////////////////////////////// cout << "\n\nSortirovanniy massim:\n"; for(int j=0; j<I; j++) cout << Ptr[j] << endl; //////////////////////////////////////// cout << "\n\nTolko chetniye:\n"; for(int j=0; j<I; j++) { for(int i=0; i<strlen(Ptr[j]); i++) { if((Ptr[j][i]-'0')%2==0) cout << Ptr[j][i]; } cout << endl; } } void main() { sort t; //ввод данных t.add("123"); t.add("12345"); t.add("123456"); t.add("32454634534"); t.add("9867561"); t.add("9876342"); //вывод на дисплей t.dis(); getch(); } и последний вопрос как эти части программы соединить. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Используя принцип наследования создать многомодульный проект для редактирования справочников | maytanet | Помощь студентам | 2 | 15.03.2011 18:58 |
Описать класс-родитель и класс-потомок. Delphi 7 | Andrew_M | Помощь студентам | 0 | 15.01.2011 14:42 |
класс | NARTZISS | Общие вопросы .NET | 10 | 28.05.2010 20:59 |
Завихрения множественного наследования. (Динамическое множественное наследование) | Парсифаль | Общие вопросы C/C++ | 10 | 09.02.2010 15:45 |
C++ . Класс | Ануар56 | Помощь студентам | 8 | 23.04.2009 19:41 |