- •Оглавление
- •1. Вычисление нод алгоритмом Евклида
- •2. Нахождение нод и нок
- •3. Вычисление факториала
- •4. Вычисление факториала рекурсивно
- •5. Вычисление биноминального коэффициента
- •7. Разложение целого числа на сумму биноминальных коэффициентов
- •8. Сумма некоторых элементов массива
- •9. Модификация массива данных. Вариант 1.
- •10. Модификация массива данных. Вариант 2.
- •11. Работа с числами массива
- •12. Поиск совпадений чисел в массиве
- •13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
- •14. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.
- •15. Подсчет количества цифр в целом числе
- •16. Проверка целого числа на симметрию цифр. Вариант 1.
- •17. Проверка целого числа n на симметрию цифр Вариант 2.
- •19. Программа проверки глубины вложения скобок
- •20. Формирование двумерного массива
- •21. Вычисление определителя матрицы второго порядка
- •22. Вычисление определителя матрицы 3 - го порядка
- •23. Нахождение обратной перестановки и по ней циклической формы
- •24. Сортировка простыми вставками
- •25. Сортировка алгоритмом Шелла
- •26. Быстрая сортировка Хоора
- •27. Поразрядная сортировка
- •28. Cортировка 1 методом пузырька
- •29. Cортировка 2 методом пузырька
- •30. Построение 2 обратной и циклической формы перестановки
- •31. Работа с библиотечными карточками
- •32. Работа с конструктором и деструктором
- •33. Работа с комплексными числами
- •34. Работа_1 с комплексными числами через указатели
- •35. Работа_2 с комплексными числами через указатели
- •36. Построение циклической очереди статическое распределение памяти
- •37. Построение стека символов статическое распределение памяти
32. Работа с конструктором и деструктором
// Работа с конструктором и деструктором
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
#include "conio.h" // библиотека для функции _getch();
#include <string.h>
#include <stdlib.h>
class strtype
{
char*p;
int len;
public:
strtype(char *ptr);
~strtype();
void show();
};
strtype::strtype(char *ptr)
{
len=strlen(ptr);
p=new(char);
if(!p)
{
cout<<"Mistake\n";
exit(1);
}
strcpy(p,ptr);
}
strtype::~strtype()
{
cout<<"free of p\n";
delete p;
}
void strtype::show()
{
cout<<"length of the string is "<<len;
cout<<"\n";
}
int main()
{
strtype s1("Это проверка");
s1.show();
getch();
return 0;
}
33. Работа с комплексными числами
#include "stdafx.h"
#include <iostream>
using namespace std;
#include "conio.h" // библиотека для функции _getch();
class complex
{
float real,imaginary;
public:
complex();
~complex();
void add(complex x,complex y); //сложение двух комплексных чисел
void enter(float e,float c); // запись комплексного числа
};
complex::complex()
{
real=imaginary=0.;
}
complex::~complex()
{
}
void complex::enter(float e,float c)
{
real=e;
imaginary=c;
}
void complex::add(complex x,complex y)
{
real=x.real+y.real;
imaginary=y.imaginary+x.imaginary;
cout<<"new number is "<<real<<" + "<<imaginary<<"*j\n";
}
int main()
{
complex x,y,z;
x.enter(4.,5.);
y.enter(5.,5.);
z.add(x,y);
_getch();
return 0;
}
34. Работа_1 с комплексными числами через указатели
#include "stdafx.h"
#include <iostream>
using namespace std;
#include "conio.h" // библиотека для функции _getch();
class complex
{
float real,imaginary;
public:
complex();
~complex();
void add(complex *x,complex *y); //сложение двух комплексных чисел
void enter(float e,float c); // запись комплексного числа
};
complex::complex()
{
real=imaginary=0.;
}
complex::~complex()
{
}
void complex::enter(float e,float c)
{
real=e;
imaginary=c;
}
void complex::add(complex *x,complex *y)
{
real=x->real+y->real;
imaginary=y->imaginary+x->imaginary;
cout<<"new number is "<<real<<" + "<<imaginary<<"*j\n";
}
int main()
{
complex x,y,z;
x.enter(4.,5.);
y.enter(5.,5.);
z.add(&x,&y);
_getch();
return 0;
}
35. Работа_2 с комплексными числами через указатели
#include "stdafx.h"
#include <iostream>
using namespace std;
#include "conio.h" // библиотека для функции _getch();
class complex
{
float real,imaginary;
public:
complex();
~complex();
void add(complex *x,complex *y); //сложение двух комплексных чисел
void enter(float e,float c); // запись комплексного числа
};
complex::complex()
{
real=imaginary=0.;
}
complex::~complex()
{
}
void complex::enter(float e,float c)
{
real=e;
imaginary=c;
}
void complex::add(complex *x,complex *y)
{
// this - указатель на текущий объект, который выполняет функцию add
this->real=x->real+y->real;
this->imaginary=y->imaginary+x->imaginary;
cout<<"new number is "<<this->real<<" + "<<this->imaginary<<"*j\n";
}
int main()
{
complex x,y,z;
x.enter(4.,5.);
y.enter(5.,5.);
z.add(&x,&y);
_getch();
return 0;
}
