Найти ошибку в коде! (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) ; } //

ооиррррр ооиррррр    2   15.03.2019 19:56    3

Другие вопросы по теме Информатика