Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2011, 10:06   #1
wwe2012
Пользователь
 
Аватар для wwe2012
 
Регистрация: 17.01.2011
Сообщений: 51
Вопрос Класс одиночного наследования

как єто можно сделать
Класс одиночного наследования.
a) Модифицировать класс динамической структуры данных,содержащей строки (л.р. №2), чтобы он был производным от класса Container.
б) Создать 2 различных класса, производные от класса динамической структуры, позволяющие сортировать и фильтровать выходные данные. Для этого вводятся виртуальные функции, соответственно, для сортировки – функция для сравнения 2 строк, для фильтрации – предикат, определяющий, будет ли строка присутствовать в выборке фильтра.
вот это я не пойму как сделать. помогите буду очень благодарен.

P.S.
1 и 3 я задание сделал а второе не получается. Даже понятия не именю как его сделать.
1. Абстрактный класс.
Создать абстрактный класс Container, в котором определить чисто виртуальные функции для добавления, удаления и определения количества элементов в контейнере.
Вот код к нему:

emplate<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;
};
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:is()
{
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();
}
я поодельности делалал задания и как мне их обьединить в один код программы.
wwe2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс одиночного наследования wwe2012 Общие вопросы C/C++ 0 30.03.2011 17:20
Класс одиночного наследования. wwe2012 Общие вопросы C/C++ 0 20.03.2011 21:38
Используя принцип наследования создать многомодульный проект для редактирования справочников maytanet Помощь студентам 2 15.03.2011 18:58
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
Завихрения множественного наследования. (Динамическое множественное наследование) Парсифаль Общие вопросы C/C++ 10 09.02.2010 15:45