C++ Перегрузка операций закончить программу Здесь еще осталось добавить перегруженные битные операции символы "&", "|" , "!" и добавить компонентные функции:
- num_true - количество элементов, равных true;
- num_false - количество элементов, равных false.
#include
#include
#include
#include
using namespace std;
class BitVector{
vector myBitVector;
int n,vn;
public:
BitVector() {
cout << "Enter the number of numbers in the vector: ";
cin >> n;
cout << "Fill in the vector: ";
for (int i = 0; i < n; i++) { cin >> vn; myBitVector.push_back(vn); }
cout << "Your vector: ";
for (int i = 0; i < myBitVector.size(); i++) cout << myBitVector[i] << ' ';
};
~BitVector() {
myBitVector.clear();
};
int operator[](int i);
BitVector operator=(const BitVector &) const;
BitVector operator+(int);
friend ostream& operator<<(ostream&, const BitVector&);
friend istream& operator>>(istream&, BitVector&);
int operator==(const BitVector&) const;
int operator!=(const BitVector&) const;
void push_back_vector();
void pop_back();
void size();
void front();
void back();
void swapvectors();
};
int BitVector::operator[](int i) {
return myBitVector[i];
}
BitVector BitVector::operator=(const BitVector &vec) const{
swap(*this, vec);
return *this;
}
BitVector BitVector::operator+(int val) {
for (int i = 0; i < n; i++) {
myBitVector[i] += val;
}
return *this;
}
istream& operator>>(istream& input, BitVector& vec) {
for (int i = 0; i < vec.myBitVector.size(); i++) input >> vec.myBitVector[i];
return input;
}
ostream &operator<<(ostream& output, const BitVector &vec) {
for (int i = 0; i < vec.myBitVector.size(); i++) output << vec.myBitVector[i];
return output;
}
int BitVector::operator!=(const BitVector& vec) const {
for (int i = 0; i < vec.myBitVector.size(); i++)
if (vec.myBitVector[i] != 0) return 1;
return 0;
}
int BitVector::operator==(const BitVector& vec) const {
for (int i = 0; i < vec.myBitVector.size(); i++)
if (vec.myBitVector[i] != 0) return 0;
return 1;
}
void BitVector::size() {
cout << endl << "Vector size: " << myBitVector.size() << endl;
}
void BitVector::front() {
cout << "The first element: " << myBitVector.front() << endl;
}
void BitVector::back() {
cout << "The last element: " << myBitVector.back() << endl;
}
void BitVector::swapvectors() {
vector sBitVector;
int svn;
cout << "We enter the second vector: " << endl;
cout << "Fill in the vector: ";
for (int i = 0; i < myBitVector.size(); i++) { cin >> svn; sBitVector.push_back(svn); }
myBitVector.swap(sBitVector);
cout << "Vector after changes: ";
for (int i = 0; i < myBitVector.size(); i++) cout << myBitVector[i] << ' ';
cout << endl;
}
void BitVector::push_back_vector() {
int val;
cout << "Enter the element you want to insert at the end: ";
cin >> val;
myBitVector.push_back(val);
cout << "Vector after changes: ";
for (int i = 0; i < myBitVector.size(); i++) cout << myBitVector[i] << ' ';
cout << endl;
}
void BitVector::pop_back() {
cout << "Delete the last element: " << endl;
myBitVector.pop_back();
cout << "Vector after changes: ";
for (int i = 0; i < myBitVector.size(); i++) cout << myBitVector[i] << ' ';
cout << endl;
}
int main() {
BitVector vec;
vec.size();
vec.front();
vec.back();
vec.swapvectors();
vec.push_back_vector();
vec.pop_back();
return 0;
}
Вот если что целое задание
Классовый тип для работы со структурами типа "Битовый вектор"
Создать класс для работы со структурой типа BitVector, которая представляет собой одномерный динамический массив с переменным количеством элементов битового типа.
Для создания объекта динамического типа и правильного его изъятия предусмотреть соответствующие конструкторы и деструкторы. Для инициализации объектов предусмотреть конструктор копирования и конструкторы с параметрами.
Создать перегружены операции:
- доступа к битового элемента, символ "[]";
- присвоение, символ "=";
- конкатенации, символ «+»;
- введение с файла, символы "<<", ">>";
- вывод в файл, символы ">>", "<<";
- сравнение, символы "==", "! =";
- битные операции, символы "&", "|" , "!".
Предусмотреть компонентные функции:
- push_back - придание нового битового элемента в конец вектора;
- pop_back - изъятие последнего битового элемента;
- size - количество элементов вектора;
- front - ссылка на первый элемент;
- back - ссылка на последний элемент;
- swap - обмен значениями с другим вектором;
- num_true - количество элементов, равных true;
- num_false - количество элементов, равных false.
Разработать демонстрационно-тестирующую программу. Выполнить тестирование разработанных программных средств.
Домен: название_домена; точка; страна, которой принадлежит домен (например, ru, com, ua).
2. ак функционирует я точно не знаю, но примерно так
Ты имеешь аккаунт почты (адрес эл. почты) вида [email protected] и можешь писать письма на любые адреса эл. почты, а также получать письма от любых адресов эл.почты.
при отправке письма проходят через сервер SMTP
при получении через сервер POP или IMAP
Чтобы получить аккаунт, нужно зарегистрироваться у поставщиков услуг эл.почты
например Mail,ru, Gmail и тд
Чтобы получать и отправлять письма нужно использовать почтовую программу (типа OutLook, ThunderBird, TheBat) или Web интерфейс предоставляемый поставщиком (Который собственно и называется web-почта)
3. В вопросе уже ответ - через почту
Ну а точнее с открытием письма там запускается программа на скачивание файла в компьютер (он очень мал по весу менее 1 Кб) скачивается моментально, но антивирусник в большинстве случаев замечает. И вообще почтовых вирусов не более 5% от всех видов вирусов, т. к. такую программу (что аж при нажимании скачивается) такого маленького размера, создать почти нереально, это нужно сначала хотя бы взломать сайт почты
Так фиг кто сломает сейчас... ) поэтому такие вирусы почти не встречаются) За почтовые вирусы можно не беспокоиться и их не бояться, а вот остальных вирусов, которые распространяются со скачиваемыми файлами бояться нужно по-любому, поэтому и создали программу антивирус)
А размножаются путем копирования. Скопировал 1, 2, 3 раз файл, и потом каждый из них копирует, потом те уже тоже копируют, и те сотни файлов тоже копируются, и так далее. . пока это копирование не загрузит полностью процессор и комп не зависнет, а дальше все. . синий экран
И включаются они (начинают копироваться) при открытии папки, в которой есть вирус (этот файл естественно скрытый и он не удаляется) . Поэтому при открытии папки к примеру на старой старой флешке, сразу антивирусник напишет, что есть вирус. Если не трогать, не копируется (потому что создатели вирусов умные и все продумали, т. к. если антивирусник заметит какое-то действие (копирование в данном случае) но пользователем ничего не "включалось" сразу он найдет его, а когда при открытии папки, антивируснику сложнее найти постороннее действие)
Вот во общем-то и все=)
4. Спам (англ. spam) — массовая рассылка коммерческой, политической и иной рекламы (информации) или иного вида сообщений лицам, не выражавшим желания их получать. Легальность массовой рассылки некоторых видов сообщений, для которых не требуется согласие получателей, может быть закреплена в законодательстве страны. Например, это может касаться сообщений о надвигающихся стихийных бедствиях, массовой мобилизации граждан и т. п. В общепринятом значении термин «спам» в русском языке впервые стал употребляться применительно к рассылке электронных писем. Не за сообщения в системах мгновенного обмена сообщениями (например, ICQ) носят название SPIM (англ. Spam over IM).
В непосредственном режиме- видимо без ввода программы, ввести последовательно строки (сначала присваиваем значение переменной икс, затем вычисляем выражение и помещаем это значение в переменную игрек, и после печатаем значение переменной игрек):
LET X=1.12
LET Y=SQR (X^3+EXP X-LN (3*X))*(1+4*SIN (X/2)+5*EXP (SIN X))
PRINT Y
И записать результат вычислений, который высветится на экране (у меня получилось 27.839525 но у вас может немного отличаться).
Надеюсь, что в вашей версии бейсика нет отличий от той, что у меня (она весьма старая).