Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика отчет.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
241.15 Кб
Скачать

Объектно-ориентированное програмиирование

1)Класс массив. Описывает нулевой единичный вектор, нулевой вектор произвольного размера и вектор произвольного размера с произвольными значениями

#include<iostream.h>

#include<stdio.h>

#include<stdlib.h>

class mas{

private:

int n, *a;

public: void show();

mas();

mas(int);

mas(int,int*);};

mas::mas(){

n=1;

a=new int [n];

a[n-1]=0;}

mas::mas(int k){

n=k;

a=new int [n];

for (int i=0;i<n;i++)

a[i]=0;}

mas::mas (int k, int*b){

n=k;

a=new int [n];

for (int i=0;i<n;i++)

a[i]=b[i];}

void mas::show(){

for (int i=0;i<n;i++)

cout<<a[i];}

void main (){

mas a;

a.show();

cout<<endl;

mas b(3);

b.show();

cout<<endl;

int *d; d=new int [4];

for (int i=0; i<5; i++){

cout<<"BBedite element massiva=";

cin>>d[i];};

mas c(5,d);

c.show();}

2) Описать скалярное произведение векторов

#include<iostream.h>

#include<stdio.h>

#include<stdlib.h>

class Vector{

private:

int m_Dim;

int *m_pVec;

public: Vector(int Dim,int *pVec);

Vector(const Vector &B);

~Vector();

void Display();

friend int Skolarnoe (Vector a1,Vector b1);};

Vector::Vector(int Dim,int *pVec){

m_pVec=new int [m_Dim=Dim];

if(!m_pVec){

cout<<"error\n";

exit(1);}

for(int i=0;i<Dim;i++)

m_pVec[i]=pVec[i];}

Vector::Vector(const Vector &B){

m_Dim=B.m_Dim;

m_pVec=new int[m_Dim];

If(!m_pVec){

cout<<"Error\n";

exit(1);}

for(int i=0;i<m_Dim;i++)

m_pVec[i]=B.m_pVec[i];}

Vector::~Vector(){

delete[] m_pVec;}

void Vector::Display(){

for(int i=0;i<m_Dim;i++)

cout<<"f= "<<m_pVec[i]<<endl;}

int Skolarnoe (Vector a1,Vector b1){

int c=0;

for(int i=0;i<a1.m_Dim;i++){

c=c+a1.m_pVec[i]*b1.m_pVec[i];}

return c;}

Void main(){

int Dim=3;

int a1[]={0,1,2};

int b1[]={4,2,7};

Vector a(Dim,a1);

Vector b(Dim,b1);

int c;

c=Skolarnoe(a,b);

cout<<"f= "<<c<<endl;}

3)Записать обыкновенную дробь

#include <iostream.h>

#include <stdio.h>

#include <math.h>

#include <stdlib.h>

#include <limits.h>

typedef int integer;

typedef int integerdigit;

typedef int integerindex;

class obdrob /*Обыкновенная дробь*/

{

integer chisl; /*числитель*/

integer znam; /*знаменатель*/

public:

obdrob(integer num,/*числитель*/ //конструктор

integer denom /*знаменатель*/ );

void print();/*напечатать обыкновенную дробь*/

/*деление обыкновенной дроби на натуральное число n*/

void operator / (integer n /* делитель*/);

};

obdrob::obdrob (integer num, /*числитель*/ //конструктор

integer denom /*знаменатель*/){

chisl = num; /*числитель*/

znam = denom; /*знаменатель*/

}

/*деление обыкновенной дроби на число*/

void obdrob::operator / (integer n /*делитель*/)

{

znam*=n; /*знаменатель*/

}

/*напечатать обыкновенную дробь:*/

void obdrob::print(){

printf("%4d/%2d", chisl,/*числитель*/

znam /*знаменатель*/);}

int main()

{

integer N=2;

integer a;

integer b;

do{ obdrob drob(a=1,

b=N);

drob.print();

printf("\n");}

while (N++<10);

obdrob drob(a=2,b=5);

drob.print();

printf("\nkonezh vipolnenij programmy! ");

return 0;}