BELENKAYAEN
26.05.2020 16:19

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Danya135evlanov
05.12.2020 05:18
// PascalABC.NET 3.0, сборка 1164 от 11.02.2016
function gcd(a,b:integer):integer;
// Нахождение НОД
var
  i: longint;
begin
  while b <> 0 do begin
    a := a mod b;
    i := b; b := a; a := i
    end;
  Result:=a
end;

begin
  var a:=ReadInteger('a=');
  var b:=ReadInteger('b=');
  var nod:=gcd(a,b);
  if nod>1 then
    WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
    a,b,a div nod,b div nod)
  else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.

Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
0,0(0 оценок)
Ответ:
Mrt2004
22.03.2020 07:01
//Pascal ABC.NET v3.0 сборка 1111

Const
 n=5;

Var
 ma:array[1..n,1..n] of integer;
 i,j:integer;
begin
 writeln('Matrix reading...');
 for i:=1 to n do
  begin
   writeln;
    for j:=1 to n do
      readln(ma[i,j]);
  end;
 writeln('First matrix:');
 for i:=1 to n do
  begin
   writeln;
    for j:=1 to n do
     begin
      write(ma[i,j]:4);
      if (ma[i,j]<-8) or (ma[i,j]>6) then ma[i,j]:=sqr(ma[i,j]);
     end;
  end;
 writeln;
 writeln('Final matrix:');
 for i:=1 to n do
  begin
   writeln;
    for j:=1 to n do
     write(ma[i,j]:4);
  end;
end.

Пример ввода:
1
2
3
4
5

6
7
8
9
1

2
3
4
5
6

7
8
9
1
2

3
4
5
6
7
Пример вывода:
First matrix:
   1   2   3   4   5
   6   7   8   9   1
   2   3   4   5   6
   7   8   9   1   2
   3   4   5   6   7
Final matrix:
   1   2   3   4   5
   6  49  64  81   1
   2   3   4   5   6
  49  64  81   1   2
   3   4   5   6  49
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота