|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.12.2008, 09:27 | #1 |
Регистрация: 05.12.2008
Сообщений: 8
|
Помогите решить контрольную на С++. Срочно!
Задания:
Разработать класс содержащий: - компоненты данные - методы: а) конструктор по умолчанию; б) конструктор с параметрами; в) конструктор копирования; г) деструктор; д) методы класса для работы с данными. Данные класса должны иметь атрибут private. Задача 1. Создать 2 объекта разработанною класса Класс - динамический вектор (одномерный массив). В результате выполнения программы в первом объекте должны содержаться все четные, а во втором все нечетные числа исходных векторов. Содержимое объектов (их векторов) до и после обмена вывести на экран. Задача 2. Создать 2 объекта разработанного класса. Одной из компонент класса является символьная строка. В результате выполнения программы в обоих объектах слово МАХ длины заменить на слово МIN длины. Содержимое объектов (их строки) до и после обмена вывеет и на экран. Задача 3 Создать несколько объектов (например, а и b) разработанного класса. Класс - вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции + (c=а+b). Содержимое объектов (а,b,c, их векторов), до и после выполнения операции, вывести на экран. Задача 4. Создать несколько объектов (например, a и b) разработанного класса. Класс - вектор (одномерный массив). Реализовать для объектов данного класса перегрузку операции += (b+=а) Содержимое объектов (а,b, их векторов), до и после выполнения операции, вывести и на экран. tihanovich@list.ru Заранее спасибо!!!
Программист все преврашяет в объекты
|
05.12.2008, 11:00 | #2 |
Регистрация: 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(); }
Программист все преврашяет в объекты
|
05.12.2008, 11:01 | #3 |
Регистрация: 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(); }
Программист все преврашяет в объекты
|
05.12.2008, 11:02 | #4 |
Регистрация: 05.12.2008
Сообщений: 8
|
Там я что то намудрил не пойму что!!!
Заранее спасибо за ответ!!! Кто может помогите плиз!!!
Программист все преврашяет в объекты
|
06.12.2008, 10:16 | #5 |
Фрилансер
Пользователь
Регистрация: 12.01.2007
Сообщений: 15
|
MjRed, стучись в аську 198-012-696
или на почту da-ne@ya.ru |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите решить контрольную на паскале | Hardboy71 | Фриланс | 4 | 11.11.2008 15:27 |