- •1)Класс массив. Описывает нулевой единичный вектор, нулевой вектор произвольного размера и вектор произвольного размера с произвольными значениями
- •2) Описать скалярное произведение векторов
- •If(!m_pVec){
- •Void main(){
- •3)Записать обыкновенную дробь
- •4)Сумма комплексных чисел
- •Void main(){
- •5)Множественное наследование. Создать класс, произвольный от нескольких базовых
- •6)Работа с множествами
- •7)Вычислить комплексное число с помощью формулы Эйлера
- •Void main()
- •8)Вычислить время через определенный промежуток времени
- •9)Вычислить сумму, разность, произведение матриц
- •Void main()
- •10)Вычисление суммы, разности, произведения и деление комплексных чисел
- •Void main()
- •11)Вычислить радиус, диаметр, длину окружности, площадь и объем сферы
- •12)Работа с шаблонами
- •13)Банковские операции (чековая и сберегательная книжка)
- •Void display()
- •Void display()
- •14)Вычислить сумму векторов
- •15)Сортировка по возрастанию
- •Void main()
14)Вычислить сумму векторов
class vektor
{
private:
int x[5];
public:
void setx(int i,int k);
int getx(int i);
vektor operator+(vektor v)
{
vektor tmp;
for (int i=0;i<5;i++)
{
tmp.x[i]=x[i]+v.x[i];
}
return tmp;
}
bool operator==(vektor v)
{
for (int i=0;i<5;i++)
if (v.x[i]!=x[i])return 0;
return 1;
}
};
#include"vektor.h"
#include<iostream.h>
void vektor::setx(int i,int k)
{
x[i]=k;
}
int vektor::getx(int i){
return x[i];
}
#include"vektor.h"
#include<iostream.h>
istream&operator>>(istream&input,vektor&x)
{
int tmp;
for (int i=0;i<5;i++)
{
input>>tmp;
x.setx(i,tmp);
}
return input;
}
ostream&operator<<(ostream&out,vektor&x)
{
for (int i=0;i<5;i++)
out<<x.getx(i)<<" ";
return out;
}
int main()
{
vektor v11,v22,v33;
cout<<"vvedite V1:"<<endl;
cin>>v11;
cout<<"vvedite V2:"<<endl;
cin>>v22;
v33=v11+v22;
cout<<v11<<endl<<v22<<endl<<v33;
return 0;
}
/*
istream file("sinput.txt");
b=qwerty(file,cout);
int qwerty(istream&in,ostream&out)
{
double z;
in>>z;
out<<z;
return z;
}*/
15)Сортировка по возрастанию
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
// Класс - строка символов
class SymStr
{
private:
char *s; // Строка
int length; // Длина строки
public:
// Конструкторы
SymStr()
{
s=new char[1];
*s='\0';
length=0;
}
SymStr(char *str)
{
length = strlen(str);//Возвращает длину строки str(без учета символа завершения строки)
s = new char[length + 1];
strcpy (s, str);//копирует строку str в строку s
}
SymStr(const SymStr &str)
{
length = str.length;
s = new char[length + 1];
strcpy (s, str.s);//копирует строку str.s в строку s
}
// Деструктор
~SymStr() { delete s; }
// Перегрузка оператора >
int operator> (SymStr &);
// Перегрузка оператора >=
int operator>=(SymStr &);
// Перегрузка оператора <
int operator< (SymStr &);
// Перегрузка оператора <=
int operator<=(SymStr &);
// Перегрузка оператора ==
int operator==(SymStr &);
// Перегрузка оператора =
SymStr &operator=(SymStr &Object);
// Перегрузка оператора << для вывода строки
friend ostream &operator<<(ostream &, SymStr &);
};
// Перегрузка оператора >
int SymStr::operator> (SymStr &Object)
{
if(strcmp(s, Object.s) > 0) return 1;
return 0;
}
// Перегрузка оператора >=
int SymStr::operator>=(SymStr &Object)
{
if(strcmp(s, Object.s) >= 0) return 1;
return 0;
}
// Перегрузка оператора <
int SymStr::operator< (SymStr &Object)
{
if(strcmp(s, Object.s) < 0) return 1;
return 0;
}
// Перегрузка оператора <=
int SymStr::operator<=(SymStr &Object)
{
if(strcmp(s, Object.s) <= 0) return 1;
return 0;
}
// Перегрузка оператора ==
int SymStr::operator==(SymStr &Object)
{
if(strcmp(s, Object.s) == 0) return 1;
return 0;
}
// Перегрузка оператора =
SymStr& SymStr::operator=(SymStr &Object)
{
length = strlen(Object.s);
s = new char[length + 1];
strcpy(s, Object.s);
return *this;
}
// Перегрузка оператора << для вывода строки
ostream &operator<<(ostream &fo, SymStr &fp)
{
fo << fp.s;
return fo;
}
// Cортировка вставками
template <class Type>
void insert (Type *x, int n)
{ int i, j;
Type t;
for (i = 1; i < n; i++)
{
t = x[i];
for (j = i - 1; j >= 0 && t < x[j]; j--)
x[j + 1] = x[j]; // Сдвиг на одну позицию
x[j + 1] = t;
}
}
