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)
{
/*
cout<<mass[amount-1]<<" "<<&mass[amount-1]<<endl;
int *addres=&mass[amount-1];
addres++;
*addres=val;
amount++;
*/
int* trash=new int[amount];
for (int i=0; i<amount; i++)
trash[i]=mass[i];
delete[] mass;
mass=new int[amount+1];
for (int i=0; i<amount; i++)
mass[i]=trash[i];
mass[amount]=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);
delete[] val;
arr.print();
cout<<arr.GetAmount()<<endl;
int a=1;
do
{
int val=-100+rand()%200;
arr.add(val);
arr.print();
cin>>a;
} while (a==0);
}
Задача 10:
#include <iostream>
#include <stdlib.h>
using namespace std;
template <class T> class Massiv
{
T *mass;
int amount;
public:
Massiv()
{
amount=NULL;
*mass=NULL;
}
Massiv(T *val, int n)
{
amount=n;
mass=new T[n];
for(int i=0; i<n; i++)
mass[i]=val[i];
}
~Massiv() {delete[] mass;}
void add (T val)
{
T *temp= new T[amount];
for (int i=0; i<amount; i++)
temp[i]=mass[i];
delete[] mass;
mass=new T[amount+1];
for (int i=0; i<amount; i++)
mass[i]=temp[i];
delete[] temp;
mass[amount]=val;
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 of elements N: ";
cin>>n;
int *IntVal=new int[n]; // Massiv int
for (int i=0; i<n; i++)
IntVal[i]=-100+rand()%200;
Massiv <int> IntMass(IntVal,n);
float *FloatVal=new float[n]; //Massiv float
for (int i=0; i<n; i++)
FloatVal[i]=-100+(float)rand()/200;
Massiv <float> FloatMass(FloatVal,n);
int IVal=-100+rand()%200; // Rand int,Float
int FlVal=-100+(float)rand()/200; //
cout<<"\nInt Massiv have "<<IntMass.GetAmount()<<
" elements: \n";
IntMass.print();
cout<<"\nFloat Massiv have "<<FloatMass.GetAmount()<<
" elements: \n";
FloatMass.print();
cout<<"-------------------------------------\n";
IntMass.add(IVal); //Add Elements
FloatMass.add(FlVal); //
cout<<"\nInt Massiv have "<<IntMass.GetAmount()<<
" elements: \n";
IntMass.print();
cout<<"\nFloat Massiv have "<<FloatMass.GetAmount()<<
" elements: \n";
FloatMass.print();
}
Задача 12:
#include <iostream>
#include <stdlib.h>
using namespace std;
void QuickSort (int *Mass, int start, int end)
{
int i=start,j=end,mid;
mid=Mass[(start+end)/2];
do
{
while (Mass[i]<mid) i++;
while (Mass[j]>mid) j--;
if (i<=j)
{
int temp;
temp=Mass[i];
Mass[i]=Mass[j];
Mass[j]=temp;
i++;
j--;
}
} while (i<=j);
if (start<j)
QuickSort(Mass,start,j);
if (i<end)
QuickSort(Mass,i,end);
}
void print(int *Mass,int n)
{
for (int i=0; i<n; i++)
cout<<Mass[i]<<" ";
cout<<"\n-----------------\n";
}
