Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Vector(int r,int q);//конструктор з двома параметрамиСодержание книги
Поиск на нашем сайте ~Vector(); // деструктор }; Vector::Vector(){//обнуляємо a=new int[0]; a[0]=0; } Vector::Vector(int r){//задаємо нове значення a=new int[r]; for(int i=0;i<r;i++) a[i]=0; k=r;//присвоюємо нове значення } Vector::Vector(int r,int k){ a=new int[r]; for(int i=0;i<r;i++) a[i]=k; this->k=r; } Vector::~Vector(){ for(int i=0;i<k;i++) delete(a); } void Vector::Set_Value(){ int b,i; cout<<"Enter index of array-> "; cin>>i; cout<<"Enter value of elements->"; cin>>b; a[i]=b; } void Vector::Get_Value(){ int i; cout<<"Enter index of array-> "; cin>>i; cout<<"You elemet is->"<<a[i]<<"\n"; } void Vector::Print_Array(){ cout<<"You have this array\n"; for(int i=0;i<k;i++) cout<<a[i]<<"\t"; cout<<"\n"; } Vector *Vector::operator+(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return 0; } else{ Vector *tmp=new Vector(k); for(int i=0;i<k;i++) tmp->a[i]=a[i]+(v.a[i]); return tmp; } } Vector *Vector::operator-(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return 0; } else{ Vector *tmp=new Vector(k); for(int i=0;i<k;i++) tmp->a[i]=a[i]-(v.a[i]); return tmp; } } Vector *Vector::operator*(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return 0; } else{ Vector *tmp=new Vector(k); for(int i=0;i<k;i++) tmp->a[i]=a[i]*(v.a[i]); return tmp; } } bool Vector::operator<(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return false; } else{ float v1=0,v2=0; for(int i=0;i<k;i++) v1+=a[i]*a[i]; for(int i=0;i<k;i++) v2+=v.a[i]*v.a[i]; if(sqrt(v1)<sqrt(v2)) Return true; else return false; } } bool Vector::operator>(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return false; } else{ float v1=0,v2=0; for(int i=0;i<k;i++) v1+=a[i]*a[i]; for(int i=0;i<k;i++) v2+=v.a[i]*v.a[i]; if(sqrt(v1)>sqrt(v2)) Return true; else return false; } } bool Vector::operator==(Vector v){ if(k!=v.k) { cout<<"Error, vectors must be identical size"; return false; } else{ float v1=0,v2=0; for(int i=0;i<k;i++) v1+=a[i]*a[i]; for(int i=0;i<k;i++) v2+=v.a[i]*v.a[i]; if(sqrt(v1)==sqrt(v2)) Return true; else return false; } } void main(){ Vector *v1=new Vector(); Vector *v2=new Vector(4); Vector *v3=new Vector(10,5); v3->Set_Value(); v3->Get_Value(); v3->Print_Array(); getch(); } Результат роботи програми:
Рисунок 1.5 Тема 2. Конструктори. Деструктори. Мета: Розглянути принцип роботи конструктора (з параметрами за замовчуванням) і деструктора при роботі з об'єктом. Індивідуальне завдання 1 Розробити програму, що дозволяє виконати сортування набору даних класичним бульбашковим методом і шейк ер-сортування. У програмі виконати порівняння ефективності сортування за часом. Текст програми #include <stdio.h> #include <windows.h> #include <conio.h> #include <time.h> int sheiker (int in[], int n); int puz(int A[], int n); void About (); Void main () { //----Ввод масива---- int nn=0; int trudoemk1, trudoemk2; int input [100]; int input2 [100]; char bb [80]; CharToOem ("\nВведите число элементов массива: ", bb); printf("%s", bb); scanf ("%d", &nn); //Узнаємо розмір масива CharToOem ("\nВведите через пробел целые числа: ", bb); printf("%s", bb); for (int j=0; j<nn; j++) scanf ("%d", &input[j]); //Заповнення масиву CharToOem ("\nВы ввели следующий массив: ", bb); printf("%s", bb); for (int mm=0; mm<nn; mm++) {printf ("%d ", input[mm]); //Перевірка виводом масива на екран input2[mm]=input[mm];} //Робить копію масива printf ("\n"); clock_t before; double elapsed; before = clock(); trudoemk1 = sheiker(input, nn); //Сортування методом Шейкер-сортування CharToOem ("Сравнений: ", bb); printf("%s", bb); printf ("%d", trudoemk1); CharToOem ("\nРеальные затраты времени на выполнении сортировки, в секундах: ", bb); printf("%s", bb); printf ("%.3f\n\n", elapsed/CLOCKS_PER_SEC); before = clock(); trudoemk2 = puz(input2, nn); //Сортування бульбашковим методом CharToOem ("\nСравнений: ", bb); printf("%s", bb); printf ("%d", trudoemk2); elapsed = clock()-before; //Виводить час витрачений на виконаня функції CharToOem ("\nРеальные затраты времени на выполнении сортировки, в секундах: ", bb); printf("%s", bb); printf ("%.3f\n", elapsed/CLOCKS_PER_SEC); getch(); } //функція шейкер-сортування int sheiker (int in[], int n) { int sravnen=0; char bb [80]; CharToOem ("\n\nШейкер сортировка: ", bb); printf("%s\n", bb); int a, b, dd, i, lasta, lastb, swap; for (a=lasta=0, b=lastb=n, dd=1; a < b; dd =!dd, a=lasta, b=lastb) { if (dd) { for (i=a,lastb=a; i<b; i++) if (in[i] > in[i+1]) { lastb = i; swap = in[i]; in[i]=in[i+1]; in[i+1]=swap; sravnen++; for (int mm=0; mm<n; mm++) printf ("%d ", in[mm]); //Перевірка методом виводу масиву на екран printf ("\n"); } else sravnen++; } Else { for (i=b,lasta=b; i>a; i--) if (in[i-1] > in[i]) { lasta = i; swap = in[i]; in[i]=in[i-1]; in[i-1]=swap; sravnen++; for (int mm=0; mm<n; mm++) printf ("%d ", in[mm]); //Перевірка методом виводу масиву на екран printf ("\n"); } else sravnen++; } } CharToOem ("Отсортированный массив методом Шейкер-сортировки: \n", bb); printf("%s", bb); for (int mm=0; mm<n; mm++) printf ("%d ", in[mm]); printf("\n"); return sravnen; } //функція сортування бульбашковим методом int puz(int A[], int n) { char bb [80]; CharToOem ("Сортировка методом \"пузырька\": \n", bb); printf("%s", bb);
|
||
|
Последнее изменение этой страницы: 2016-09-13; просмотров: 192; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.008 с.) |