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; }