Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольная по ТРПОСУ специальность ИТиУвТС, заочная ИИТ 2013г

..docx
Скачиваний:
39
Добавлен:
01.04.2014
Размер:
40.69 Кб
Скачать

1. Общая постановка. Составить программу - одномерные массивы. Массивы создаются в динамической области памяти с использованием операций NEW и DELETE. Ввод исходных данных: реальный размер массивов и их значения. Обращение к элементам массива – через косвенную адресацию.

25. Задан массив – А(10). Получить из него массив В, состоящий из элементов массива А, которые кратны трем.

#include <iostream>

using namespace std;

#include <stdlib.h>

void mas_print(int *mas, int size)

{ int x;

for (x = 0; x < size; x ++)

{ cout <<*(mas+x)<<" "; }

cout<<endl;}

int main(void)

{ int i, j, ams=10, as, bs, kr_count=0;

do { cout <<"Vvedite razmer massiva A (max "<< ams <<") "<<endl;

cin >> as; } while (as > ams);

int *a = new int[as];

cout <<"Vvedite matricu A:"<<endl;

for (i = 0; i < as; i++) {cout <<"A["<<i<<"]: "<<endl; cin >> *(a+i); if ((*(a+i)%3)==0) kr_count++;}

bs = kr_count-1;

int *b = new int[bs];

for (i = as-1; i >= 0; i--) if ((*(a+i)%3)==0) {*(b+bs)=*(a+i); bs--;}

cout <<"Ishodnie massivi:" << endl;

cout <<"Massiv A:" << endl; mas_print (a, as);

cout <<"Massiv B:" << endl; mas_print (b, kr_count);

delete[] a; delete[] b;

}

2. Общая постановка. Пользовательский класс Х должен содержать необходимые элементы – данные x, y, а класс Y – переменную z, которые создаются в динамической области памяти, конструкторы для их создания (операция new) и установки их начальных значений соответственно: Х(), Y(), деструкторы: ~ Х(), ~ Y(), friend – функция печати: friend void print(), функция, решающая поставленную задачу: friend void Run().

Код методов и функций – вне пространства определения класса. Решить уравнение вида:

При x=3,251, y=0,325, z=0,466, c = 4,25.

#include <iostream>

using namespace std;

#include <math.h>

#include <stdlib.h>

#include <conio.h>

class yClass;

class xClass

{ double *x,*y,*c;

public:

xClass (double X, double Y);

~xClass();

friend void print(xClass&,yClass&);

friend void run(xClass&,yClass&); };

class yClass

{ double *z;

public:

yClass (double Z);

~yClass();

friend void print(xClass&,yClass&);

friend void run(xClass&,yClass&); };

xClass::xClass(double X, double Y)

{ x = new double;

y = new double;

c = new double;

*xClass::x=X;

*xClass::y=Y;

*xClass::c=0;};

yClass::yClass(double Z)

{ z = new double;

*yClass::z=Z;};

xClass::~xClass()

{ delete x,y,c;}

yClass::~yClass()

{ delete z;}

void run(xClass& a, yClass& b)

{ *a.c = pow(2,pow(*a.y,*a.x))+pow(pow(3,*a.x),*a.y)-(*a.y*(atan(*b.z)-M_PI/6)/(fabs(*a.x)+(1/(pow(*a.y,2)+1))));}

void print(xClass& a, yClass& b)

{ cout << "X = " << *a.x <<", Y = " << *a.y << ", Z = " << *b.z << endl;

cout << "Rezultat: c = " << *a.c << endl;}

int main()

{

xClass X (3.251,0.325);

yClass Y (0.0000466);

run(X,Y);

print(X,Y);

getch();

return 0;

}

6