Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamenatsionnye_zadachi_po_Informatike_Resheni...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
97 Кб
Скачать
☆

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;

}

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]