Void main()
{
int n;
cout<<"Введите количество элементов: ";
cin>>n;
int *mass1= new int[n]; //Создали массив указателей в количестве n штук на int, каждый элемент массива, является адресом, в котором хранится указатель на int.
cout<<"mass1: ";
for (int i=0; i<n; i++)
{
mass1[i]=-100+rand()%200;
cout<<" "<<mass1[i];
}
cout<<"\n";
int *mass2= new int[n];
cout<<"mass2: ";
for (int i=0; i<n; i++)
{
mass2[i]=-100+rand()%200;
cout<<" "<<mass2[i];
}
if (Func(mass1,n)>Func (mass2,n))
cout<<"\nPositive elements more in mass1!"<<endl;
else
cout<<"\nPositive elements more in mass2!"<<endl;
cout<<endl;
}
Задача 8:
#include <iostream>
#include <stdlib.h>
using namespace std;
template <class T> T Max (T* mass, int n) //Шаблон. <class T>- класс типа Т, потом делаем функцию которая возвращает объект класса Т //Max - тупо название функции. Т* - указатель на массив
{
int max=0;
for (int i=0; i<n; i++)
if (mass[i]>mass[max])
max=i;
return mass[max];
}
Void main()
{
int n;
cout<<"Enter N (amount elements): ";
cin>>n;
int *mass1=new int[n];
float *mass2=new float[n];
cout<<"mass1: ";
for (int i=0; i<n; i++)
{
mass1[i]=-100+rand()%200;
cout<<"\t"<<mass1[i];
}
cout<<"\n";
cout<<"mass2: ";
for (int i=0; i<n; i++)
{
mass2[i]=-100+(float)rand()/200;
cout<<"\t"<<mass2[i];
}
cout<<"\n\n";
cout<<" Max value mass1: "<<Max(mass1,n)<<endl;
cout<<" Max value mass2: "<<Max(mass2,n)<<endl;
}
Задача 9:
#include <iostream>
#include <stdlib.h>
using namespace std;
class Massiv
{
int* mass; //указ на первый элемент массива (т.к. не знаем сколько там будет элементов
int amount; //количество
public:
Massiv() // конструктор по умолчанию
{
amount=NULL; //заполняем все в конструкторе нулями
*mass=NULL;
}
Massiv(int *val, int n) //заполнение созданной переменной класса массив
{
amount=n;
mass=new int[n];
for (int i=0; i<n; i++)
mass[i]=val[i];
}
~Massiv() {delete[] mass;} // деструктор
void add(int val) //добавление элемента в массив
{
int* trash=new int[amount]; //массив в который пишем старый массив
for (int i=0; i<amount; i++) //заполняем треш старым массивом
trash[i]=mass[i];
delete[] mass; // удаляем старый массив
mass=new int[amount+1]; //создаем массив на 1 больше
for (int i=0; i<amount; i++) //заполняем
mass[i]=trash[i];
mass[amount]=val; //переменную val делаем последней в массиве
delete[] trash; //удаляем треш
amount++; //увеличене количества элементов массива
}
int GetAmount() {return amount;} //ф-ия,которая возвращает количество элементов в массиве
void print() //вывод массива
{
for (int i=0; i<amount; i++)
cout<<mass[i]<<" ";
cout<<"\n";
}
};
Void main()
{
int n;
cout<<"Enter amount N: ";
cin>>n;
int *val=new int[n]; //создание динамического массива
for (int i=0; i<n; i++)
val[i]=-100+rand()%200;
Massiv arr(val,n); //заполнение массива arr рандомным
delete[] val; //удаление рандомного массива
arr.print(); // вывести на экран массив новый
cout<<arr.GetAmount()<<endl; //вывести число элементов массива
arr.add(10); //добавление в массив 10
arr.print(); //вывод на экран
}
Задача 10:
#include <iostream>
#include <time.h>
using namespace std;
template <class T> class Massiv //шаблон класса Т, создаем класс Massiv
{
T *mas; //Массив данных типа Т
int n;
public:
Massiv() //конструктор по умолчанию
{
mas=NULL; //заполняем все в конструкторе нулями
n=NULL;
}
Massiv(T *nmas,int m) // заполнение созданной переменной класса массив
{
n=m;
mas=new T[n];
for (int i=0;i<n;i++)
mas[i]=nmas[i];
}
~Massiv() //деструктор
{
delete[] mas;
}
void add(T nov) //добавление элемента в массив
{
T *nmas=new T[n]; //массив, в которой помещаем старый массив
for (int i=0;i<n;i++) //заполняем nmas старым массивом
nmas[i]=mas[i];
delete[] mas; //удаляем старый массив
mas=new T[n+1]; //создаем массив на 1 больше
for (int i=0;i<n;i++) //заполняем
mas[i]=nmas[i];
delete[] nmas; //удаляем nmas
mas[n]=nov; //переменную nov делаем последней в массиве
}
void print() //dsdjl vfccbdf
{
for (int i=0;i<n;i++)
cout <<mas[i]<<" ";
cout <<endl;
}
int GetN() //метод получения количества элементов в массиве
{
return n;
}
};
