Найти ошибку в коде! (c++) #include #include #include using namespace std ; float recur1(int m, float y0, float y1, float y2); float recur2(int m, float y0, float y1, float y2); float recur3(int m, float y0, float y1, float y2); // int main() {int var, //выбор действия m ; //конечное значение номера слагаемого float re1, re2, re3 ; //результаты решения float y0, y1, y2 ; //исходные данные setlocale(lc_all,"russian") ; for(; ; ) {//выбор действия cout < < "\n вид действия: " < < endl ; cout < < " 1 - вычисление суммы по рекуррентной формуле" < < endl ; cout < < " 2 - завершение " < < endl ; cout < < " введите вид действия -> " ; cin > > var ; switch(var) {case 1: //ввод исходных данных cout < < " введите m -> " ; cin > > m ; cout < < " введите y0, y1, y2 -> " ; cin > > y0 > > y1 > > y2 ; re1 = recur1(m, y0, y1, y2) ; re2 = recur2(m, y0, y1, y2) ; re3 = recur3(m, y0, y1, y2) ; //вывод результата cout.precision(3) ; //число знаков после запятой при выводе cout < < " для цикла while результат = " < < re1 < < endl ; cout < < " для цикла do..while результат = " < < re2 < < endl ; cout < < " для цикла for результат = " < < re3 < < endl ; break; default: return 1 ; }//switch }//for } // // //вычисление значения суммы циклом while float recur1(int m, float y0, float y1, float y2) {int i = 0 ; //текущий номер слагаемого float y , //очередное значение y[i] sum = 0 ; //начальное значение суммы sum += log(fabs(1.5 * y0 - 0.2 * y0 + 0.3 * y0*y0 )-1.8) ; i++ ; sum += log(fabs(1.5 * y1 - 0.2 * y1 + 0.3 * y1*y1 )-1.8) ; i++ ; sum += log(fabs(1.5 * y2 - 0.2 * y2 + 0.3 * y2*y2 )-1.8) ; i++ ; while(i < = 2*m-1) {y = y2 + y0 * y0 ; sum += log(fabs(1.5 * y - 0.2 * y + 0.3 * y*y )-1.8) ; y0 = y1 ; y1 = y2 ; y2 = y ; i++ ; } return(sum) ; } // // //вычисление значения суммы циклом do..while float recur2(int m, float y0, float y1, float y2) {int i = 0 ; //текущий номер слагаемого float y , //очередное значение y[i] sum = 0 ; //начальное значение суммы sum += log(fabs(1.5 * y0 - 0.2 * y0 + 0.3 * y0*y0 )-1.8) ; i++ ; sum += log(fabs(1.5 * y1 - 0.2 * y1 + 0.3 * y1*y1 )-1.8) ; i++ ; sum += log(fabs(1.5 * y2 - 0.2 * y2 + 0.3 * y2*y2 )-1.8) ; i++ ; do {y = y2 + y0 * y0; sum += log(fabs(1.5 * y - 0.2 * y + 0.3 * y*y )-1.8) ; y0 = y1 ; y1 = y2 ; y2 = y ; i++ ; } while(i < = 2*m-1) ; return(sum) ; } // //вычисление значения суммы циклом for float recur3(int m, float y0, float y1, float y2) {int i = 0 ; //текущий номер слагаемого float y , //очередное значение y[i] sum = 0 ; //начальное значение суммы sum += log(fabs(1.5 * y0 - 0.2 * y0 + 0.3 * y0*y0 )-1.8) ; i++ ; sum += log(fabs(1.5 * y1 - 0.2 * y1 + 0.3 * y1*y1 )-1.8) ; i++ ; sum += log(fabs(1.5 * y2 - 0.2 * y2 + 0.3 * y2*y2 )-1.8) ; i++ ; for(; i < = 2*m-1; i++) {y = y2 + y0 * y0 ; sum += log(fabs(1.5 * y - 0.2 * y + 0.3 * y*y )-1.8); y0 = y1 ; y1 = y2 ; y2 = y ; } return(sum) ; } //
"Реклама "
Некоторые компании, занимающиеся легальным бизнесом, рекламируют свои товары или услуги с спама. Привлекательность такой рекламы — низкая стоимость и (предположительно) большой охват потенциальных клиентов.
"Реклама незаконной продукции"
С спама рекламируют продукцию, о которой нельзя сообщить другими например, контрафактные товары (подделки, конфискат), лекарственные средства с ограничениями по обороту,
"Фишинг"
«Фишинг» — ещё один мошенничества. Он представляет собой попытку спамеров выманить у получателя письма номера его кредитных карточек или пароли доступа к системам онлайновых платежей. Такое письмо обычно маскируется под официальное сообщение от администрации банка. В нём говорится, что получатель должен подтвердить сведения о себе, иначе его счёт будет заблокирован, и приводится адрес сайта (принадлежащего спамерам) с формой, которую надо заполнить. Среди данных, которые требуется сообщить, присутствуют и те, которые нужны мошенникам. Для того, чтобы жертва не догадалась об обмане, оформление этого сайта также имитирует оформление официального сайта банка.
Сложение одноразрядных двоичных чисел выполняется по следующим правилам:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально).
Сложим для примера два любых двоичных числа:
1101
+ 101
10010
Вычитание
Вычитание одноразрядных двоичных чисел выполняется по следующим правилам:
0 - 0 = 0
1 - 0 = 1
0 - 1 = (заем из старшего разряда) 1
1 - 1 = 0
Пример:
1110
- 101
1001
Умножение
Умножение одноразрядных двоичных чисел выполняется по следующим правилам:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Пример:
1110
* 10
+ 0000
1110
11100
Деление
Деление выполняется так же как в десятичной системе счисления:
1110 | 10
|
10 | 111
11
10
10
10
0