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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2008, 09:27   #1
MjRed
 
Регистрация: 05.12.2008
Сообщений: 8
По умолчанию Помогите решить контрольную на С++. Срочно!

Задания:

Разработать класс содержащий:
- компоненты данные
- методы:
а) конструктор по умолчанию;
б) конструктор с параметрами;
в) конструктор копирования;
г) деструктор;
д) методы класса для работы с данными.
Данные класса должны иметь атрибут private.


Задача 1. Создать 2 объекта разработанною класса Класс - динамический вектор (одномерный массив). В результате выполнения программы в первом объекте должны содержаться все четные, а во втором все нечетные числа исходных векторов. Содержимое объектов (их векторов) до и после обмена вывести на экран.

Задача 2. Создать 2 объекта разработанного класса. Одной из компонент класса является символьная строка. В результате выполнения программы в обоих объектах слово МАХ длины заменить на слово МIN длины. Содержимое объектов (их строки) до и после обмена вывеет и на экран.


Задача 3 Создать несколько объектов (например, а и b) разработанного класса. Класс - вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции + (c=а+b). Содержимое объектов (а,b,c, их векторов), до и после выполнения операции, вывести на экран.

Задача 4. Создать несколько объектов (например, a и b) разработанного класса. Класс - вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции += (b+=а) Содержимое объектов (а,b, их векторов), до и после выполнения операции, вывести и на экран.

tihanovich@list.ru
Заранее спасибо!!!
Программист все преврашяет в объекты
MjRed вне форума Ответить с цитированием
Старый 05.12.2008, 11:00   #2
MjRed
 
Регистрация: 05.12.2008
Сообщений: 8
По умолчанию

Первая и вторая задача написана но что то непашет!!!
Ща кину код может кто подскажет!!!

Первая
#include <iostream.h>

class Mas
{
int n;
int size;
int *num;
public:
Mas() //****конструктор
{ //****по
num=NULL; //****умолчанию
size=0;
}
Mas(int n);//конструктор с пареметром
void zapis(int *mas, int n);
void print();//вывод масива
int* chet();//возвращает четный массив
int* nechet();//возвращает не четный массив
void vvod();//создание массива
void osvob();//освобождение массива

~Mas()
{
delete [] num;
}
};



//****************освобождение ммамассива************************
void Mas:svob()
{
delete [] num;
}




// *****************перегруженный конструктор с параметрами*****************
void Mas::zapis(int *mas, int n)
{
size=n;
num=new int[size];
if (!num)
{
cout<<"/nOut of memory!";
}
for(int i=0; i<size; i++)
{
*(num+i)=*(mas+i);
}
}





// *****************88вывод массива**************************
void Mas:rint()
{
for(int i=0;i<size;i++)
cout<<*(num+i)<<endl;
}





// ************************тут помещаем четные числа в первый объект, а нечетные во второй**************************
void swap_masiv(Mas A, Mas B)
{
int j;
int *buff1=A.chet();
int *buff2=B.chet();

int *buff_chet= new int[(*buff1+*buff2)];

for(int i=0;i<*buff1;i++)
{
*(buff_chet+i)=*(buff1+(i+1));
}
for(i=*buff1, j=0; i<(*buff1+*buff2); j++,i++)
{
*(buff_chet+i)=*(buff2+(j+1));
}

int *buff3=A.nechet();
int *buff4=B.nechet();

int *buff_nechet=new int[(*buff3+*buff4)];
for(i=0;i<*buff3;i++)
{
*(buff_nechet+i)=*(buff3+(i+1));
}
for(i=*buff3,j=0;i<(*buff3+*buff4); i++,j++)
{
*(buff_nechet+i)=*(buff4+(j+1));
}

/*********************************** *Посмотри отсюда***************************** **********/
/**********************************Д о этого места все отлично**************************** **/
A.osvob();
B.osvob();
A.zapis(buff_chet, (*buff1+*buff2));
B.zapis(buff_nechet, (*buff3+*buff4));
}





//******************************* четные числа объекта собираем в массив***************************
int *Mas::chet()
{
int count=0;
for(int i=0; i<size;i++)
{
if(*(num+i)%2==0)
{
count++;
}
}
int *buff= new int [count+1];
*buff=count;
for(i=1;i<(count+1);i++)
{
for(int j=0; j<size; j++)
{
if(*(num+j)%2==0)
{
*(buff+i)=*(num+j);
}
}
}
return buff;
}





//****************************** нечетные объекта собираем в массив***************************** **
int *Mas::nechet()
{
int count=0;
for(int i=0; i<size;i++)
{
if(*(num+i)%2!=0)
{
count++;
}
}
int *buff= new int [count+1];
*buff=count;
for(i=1;i<(count+1);i++)
{
for(int j=0; j<size; j++)
{
if(*(num+j)%2!=0)
{
*(buff+i)=*(num+j);
}
}
}
return buff;
}





//************************* создание массива*************************
void Mas::vvod()
{
for(int i=0;i<size;i++)
*(num+i)=i;
}






//****************************** конструктор с параметрами************************ **
Mas::Mas(int n)

{
size=n;

num=new int[size];

if(!num)

{
cout<<"\nOut of memory!";
}
}






void main()
{
int dim;
cout<<"Vvedite razmernost' massiva : ";
cin>>dim;
Mas A(dim),B(dim);
A.vvod();
B.vvod();
A.print();
B.print();
swap_masiv(A,B);
A.print();
B.print();
}
Программист все преврашяет в объекты
MjRed вне форума Ответить с цитированием
Старый 05.12.2008, 11:01   #3
MjRed
 
Регистрация: 05.12.2008
Сообщений: 8
По умолчанию

Вторая
#include <iostream>
#include <conio.h>

using namespace std;

class STROKA {
private:
char *str;
int size;
int *num;
public:
STROKA(){}
STROKA (int n);
STROKA (const STROKA &obj);

~STROKA() {delete num;}

void vvod();
void vivod();

void swap_str(STROKA &obj);
};

STROKA::STROKA(int n)
{
size=n;
num=new int[size];
if(!num)
{
cout<<"\nOut of memory!";
}

str=new char[100];
};

STROKA::STROKA(const STROKA &obj)
{
size=obj.size;
num=new int[obj.size];

if(!num)
{
cout<<"\nOut of memory!";
}

for(int i=0;i<size;i++)
{
num[i]=obj.num[i];
}
str=obj.str;
};

void STROKA::vvod()
{
cout<<"Vvedite stroku: ";
cin>>str;
cout<<"\n";
};

void STROKA::vivod()
{
cout<<"str: "<<str<<"\n";
};

void STROKA::swap_str(STROKA &obj)
{
int dlina1=strlen(str);
int dlina2=strlen(obj.str);

if (dlina1<dlina2)
{
strcpy(obj.str,str);
}
else
{
strcpy(str,obj.str);
}
}

void main()
{
int dim;
cout<<"Vvedite razmernost' stroki: ";
cin>>dim;

STROKA A(dim), B(dim);

A.vvod();
B.vvod();
A.vivod();
B.vivod();

A.swap_str(B);

cout<<"\n Posle swap: \nA\n";
A.vivod();
cout<<"\nB\n";
B.vivod();
}
Программист все преврашяет в объекты
MjRed вне форума Ответить с цитированием
Старый 05.12.2008, 11:02   #4
MjRed
 
Регистрация: 05.12.2008
Сообщений: 8
По умолчанию

Там я что то намудрил не пойму что!!!

Заранее спасибо за ответ!!!

Кто может помогите плиз!!!
Программист все преврашяет в объекты
MjRed вне форума Ответить с цитированием
Старый 06.12.2008, 10:16   #5
Dimon
Фрилансер
Пользователь
 
Аватар для Dimon
 
Регистрация: 12.01.2007
Сообщений: 15
По умолчанию

MjRed, стучись в аську 198-012-696
или на почту da-ne@ya.ru
Dimon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите решить контрольную на паскале Hardboy71 Фриланс 4 11.11.2008 15:27