1. провести скан компьютера антивирусом
2. если нашёл антивирус то очистить
3. если не нашёл ищем вирус вручную
4. если реклама в браузере то ищем через код элемента
5. если нашли то следуем к корневой папке и удаляем
6. если рекламка на самом пк, то стоит нажать, и скачав утилиту просмотреть последние действия и с каким файлом они совершались, в последствии удалить
7. если же вирус типа троян, то так же с помощью какой-либо утилиты просмотреть какие файлы недавно появились на пк и удалить
8. если же они не удаляются, являясь задействованными где либо, с помощью диспетчера задач завершаем задачу и удаляем
9. в случае если файл скрыт, через проводник включаем видимость скрытых файлов и папок и удаляем
10. в случае если данный файл не удаляется вообще, можно просто его отключить, либо через сторонние программы, дающие право удалять корневые программы избавиться от них
11. ещё раз на всякий случай включить полную проверку антивирусом
.ods это электронная таблица (open document spreadsheet)
создаётся через OpenOffice
Привет, код задачи приведен ниже, пожалуйста:
1. Отметь ответ как лучший (поставь 5 звезд).
2. Нажми кнопочку "Спасибо" тут и в моем аккаунте, спасибо :)
(За 8 былов такое никто не делает кроме меня, пожалуйста, будь благодарен в ответ)
Код прокомментирован, за дополнительными вопросами или информацией прошу:
* Обращайся в комментарии, я отвечу на вопросы.
* Зайди ко мне в профиль, в моих записях ты найдешь ссылки на полезные ресурсы.
FILE: CFraction.hpp
#ifndef CFRACTION_HPP
#define CFRACTION_HPP
//Это класс дроби, тут мы храним чеслитель, знаменатель и функцию nesokr().
class CFraction
{
public:
CFraction(); //Конструктор класа
//"Геттеры" класса для получения значений приватных полей
const unsigned int& getNumerator() const;
const unsigned int& getDenumerator() const;
//"Сеттеры" класса для задани значений приватным полям
void setNumerator(const unsigned int& value);
void setDenumerator(const unsigned int& value);
//Функция заданная по заданию для сокращения дроби
void nesokr();
private:
//Функция реализующая поиск найбольшего общего делителя по алгоритму Евклида
const unsigned int getGreatestCommonDivisor() const;
//Функция проверяющая, есть ли необходимость искать НОД
const bool isRequireCalculationGCD() const;
private:
unsigned int mFirst; //Поле для числителя
unsigned int mSecond; //Поле для знаменателя
};
#endif //CFRACTION_HPP
FILE: CFraction.cpp
#include "CFraction.hpp"
CFraction::CFraction()
: mFirst(0) //Числитель инициализируем нулем
, mSecond(1) //Знаменатель по умолчанию инициализируем единицей
{
}
//Возращение значений происходит по константной ссылке.
//Благодаря этому избегается копирование переменной,
//а так же её модификация по ссылке.
const unsigned int& CFraction::getNumerator() const
{
return mFirst;
}
//Функция имеет в конце себя слово const сигнализирующее компилятору,
//что метод не способен модифицировать поля класса.
const unsigned int& CFraction::getDenumerator() const
{
return mSecond;
}
//Передача аргумента в функцию так же реализуется по константной ссылке,
//из тех же соображений что и возращение поля по константной ссылке.
void CFraction::setNumerator(const unsigned int& value)
{
mFirst = value;
}
void CFraction::setDenumerator(const unsigned int& value)
{
//Проверяем значение на 0, знаменатель не может быть равнм нулю.
//Значение не проверяется на знак отрицания, по тому, что везде используется
//беззнаковый целочисленный тип данных unsigned int.
if (0 != value)
{
mSecond = value;
}
}
void CFraction::nesokr()
{
//Если есть необходимость проводить расчёты и сокращать дробь, то
//находим НОД и делим на него чеслитель и знаменатель.
if ( isRequireCalculationGCD() )
{
unsigned int greatestCommonDivisor = getGreatestCommonDivisor();
mFirst /= greatestCommonDivisor;
mSecond /= greatestCommonDivisor;
}
}
const bool CFraction::isRequireCalculationGCD() const
{
//Проверяем, не является, ли знаменатель равным единице,
//иначе нет смысла проводить безсмысленную работу, т.к. в любом случаи НОД
//будет единица, то же самое делаем с числителем.
return ( (1 != mSecond || 1 != mFirst) || (1 != mSecond && 1 != mFirst) );
}
const unsigned int CFraction::getGreatestCommonDivisor() const
{
//Алгоритм поиска НОД называется алгоритмом Евклида
unsigned int remainder(1);
//Для его реадизации берем два числа и выделяем из них большее и меньшее.
unsigned int gretestNumber = (mFirst > mSecond ? mFirst : mSecond);
unsigned int leastNumber = (mFirst < mSecond ? mFirst : mSecond);
while (0 != remainder)
{
remainder = gretestNumber % leastNumber;
//Если остаток деления большего на меньшее равен нулю,
//то НОД является меньшее из этих чисел
if (0 != remainder)
{
//Если же остаток не равен нулю,
//то большим числом становится предыдущее меньшее,
//а меньшим становится остаток от леления.
gretestNumber = leastNumber;
leastNumber = remainder;
}
}
return leastNumber;
}
FILE: main.cpp
#include <iostream>
#include "CFraction.hpp"
int main()
{
CFraction example;
example.setNumerator(15);
example.setDenumerator(255);
std::cout << "Fraction before simplification:" << std::endl;
std::cout << "Fraction numerator: " << example.getNumerator() << std::endl;
std::cout << "Fraction denumerator: " << example.getDenumerator() << std::endl;
example.nesokr();
std::cout << "------------------------------" << std::endl;
std::cout << "Fraction after simplification:" << std::endl;
std::cout << "Fraction numerator: " << example.getNumerator() << std::endl;
std::cout << "Fraction denumerator: " << example.getDenumerator() << std::endl;
return 0;
}
Пишу на QBasic
CLS
INPUT N
C=1
FOR I = 1 TO N
C=C*I
NEXT I
PRINT C