Задача № 6 з програмування

Написати свій клас 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 з програмування


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: