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

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

}