Написати свій клас Vector роботи із лінійним числовим масивом. Мають бути методи: отримати розмір об’єкта класу, прописати всі елементи масиву заданим значенням, обміняти значення двох заданих елементів.
#include <iostream>
using namespace std;
class MyVector
{
private:
int* v;
int length;
public:
MyVector(int l);
~MyVector();
int GetLength();
void SetValues(int x);
void Swap(int i, int j);
};
MyVector::MyVector(int l){
v = new int[l];
length = l;
}
MyVector::~MyVector(){
if(v!=NULL)
delete[] v;
v = NULL;
}
int MyVector::GetLength(){return length;}
void MyVector::SetValues(int x){
for(int i=0;i<length;i++)
v[i] = x;
}
void MyVector::Swap(int i, int j){
int x = v[j];
v[j] = v[i];
v[i] = x;
}
Задача № 7 з програмування
Написати процедуру, що здійснює сортування числового масиву, за допомогою методу бульбашки.
void BubbleSort(int num[], int numLength)
{
int i, j, flag = 1;
int temp;
for(i = 1; (i <= numLength) && flag; i++)
{
flag = 0;
for (j=0; j < (numLength -1); j++){
if (num[j+1] > num[j]){
temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
flag = 1;
}
}
}
}
Задача № 8 з програмування
Задано два однакової довжини зв’язаних списка цілих чисел та покажчики на останні елементи. Написати функцію, що видаляє з обох списків числа, що одночасно входять до списків.
|
|
#include <list>
using namespace std;
void removeDuplicates(list<int> &l1, list<int> &l2)
{
list<int>::iterator it1,it2, it11;
list<int> l11(l1);
list<int> l22(l2);
for(it1=l11.begin();it1!=l11.end();++it1)
{
bool found = false;
for(it2=l22.begin();it2!=l22.end();++it2)
{
if((*it1)==(*it2))
{
found = true;
break;
}
}
if(found)
{
l1.remove((*it1));
l2.remove((*it1));
}
}
}
Задача № 9 з програмування
Задано два однакової довжини зв’язаних списка цілих чисел та покажчики на останні елементи. Написати функцію, що створює новий список з елементів, що одночасно входять до двох заданих списків.
#include <list>
using namespace std;
list<int> Peretin(list<int> &l1, list<int> &l2)
{
list<int>::iterator it1,it2, it11;
list<int> res;
for(it1=l1.begin();it1!=l1.end();++it1)
{
bool found = false;
for(it2=l2.begin();it2!=l2.end();++it2)
{
if((*it1)==(*it2))
{
found = true;
break;
}
}
if(found)
res.push_back((*it1));
}
return res;
}
Задача № 10 з програмування
Написати процедуру, що друкує усі прості числа, які не перевищують задане число.
#include <iostream>
using namespace std;
void main()
{
int n;
cin>>n;
if(n<2)
return;
if(n==2)
cout<<"2 ";
if(n>2)
{
cout<<"2 ";
for(int x=3;x<n;x++)
{
bool found = false;
for(int i=2;i<n/2;i++)
{
if(x%i==0)
{
found = true;
break;
}
}
if(!found)
cout<<x<<" ";
}
}
}
Задача № 11 з програмування
Написати процедуру, що здійснює перевірку на простоту цілого числа.
bool IsPrime(int x)
{
if(x<2)
return false;
if(x==2)
return true;
for(int i=0;i<(int)sqrt(x);i++)
if(x%i==0)
return false;
return true;
}
Задача № 12 з програмування