Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2020, 18:14   #1
NIKITA555
 
Регистрация: 24.12.2020
Сообщений: 8
Восклицание Задача на с++

Ситуация не простая. В общем, мой код не проходит 1 из двух тестов на проверку. Не могу понять, где ошибка в коде.
Вот сам код:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{

int n = 0;
double xn, xk, dx, e, sum = 0, t = 1, PI = 3.1415;
bool prov;

//cout << "Введите Xn";
cin >> xn;
//cout << "Введите Xk";
cin >> xk;
//cout << "Введите шаг dx";
cin >> dx;
//cout << "Погрешность e=";
cin >> e;

if (xn < -1 || xn>1 || xk < -1 || xk>1 || e == 0)
{
cout << endl;
}
else

while (xn <= xk)
{
sum = 0, t = 1;
n = 0;
prov = false;
do
{
t = (pow(-xn, 2) * (2 * n + 1)) / (2 * n + 3);
sum = sum + t;
n++;
} while (e <= abs(t));
cout << setw(15) << xn << setw(15) << PI / 2 + sum << setw(15);
if (prov == false)
{
cout << n;
}
cout << setw(15) << PI/2 + sum;
else
cout << endl;
xn = xn + dx;

}system("pause");
}
При вводе таких значений:
-0.9 -0.1 0.1 0.0001
Программа должна вывести:
-0.9 0.8380 26 0.8380
-0.8 0.8961 14 0.8961
-0.7 0.9601 10 0.9601
-0.6 1.0304 8 1.0304
-0.5 1.1072 6 1.1071
-0.4 1.1903 5 1.1903
-0.3 1.2793 4 1.2793
-0.2 1.3734 3 1.3734
-0.1 1.4711 3 1.4711
Но программа работает неверно, и я не могу разобраться в чем дело. Пожалуйста, помогите!
Изображения
Тип файла: jpg Opera Снимок_2020-12-24_181321_aisd.gumrf.ru.jpg (34.0 Кб, 0 просмотров)

Последний раз редактировалось NIKITA555; 24.12.2020 в 19:31.
NIKITA555 вне форума Ответить с цитированием
Старый 24.12.2020, 18:25   #2
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Оно у вас компилится?
Код:
if (prov == false)
{
  cout << n;
}
cout << setw(15) << PI/2 + sum;
else
cout << endl;
Тут явно что-то не то со скобками.
FrosyaZZ вне форума Ответить с цитированием
Старый 24.12.2020, 18:26   #3
NIKITA555
 
Регистрация: 24.12.2020
Сообщений: 8
По умолчанию

FrosyaZZ, да
NIKITA555 вне форума Ответить с цитированием
Старый 24.12.2020, 18:28   #4
NIKITA555
 
Регистрация: 24.12.2020
Сообщений: 8
По умолчанию

FrosyaZZ, Вы имеете ввиду что-то не то с выводом или условием?
NIKITA555 вне форума Ответить с цитированием
Старый 24.12.2020, 18:30   #5
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Давайте код, который у вас компилится. Этот не компилится https://godbolt.org/z/bEsWr9 ни одним компилятором.
FrosyaZZ вне форума Ответить с цитированием
Старый 24.12.2020, 18:31   #6
NIKITA555
 
Регистрация: 24.12.2020
Сообщений: 8
По умолчанию

FrosyaZZ,

попробуйте этот:

#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main()
{

int n = 0;
double xn, xk, dx, e, sum = 0, t = 1, PI = 3.1415;
bool prov;

cin >> xn;

cin >> xk;

cin >> dx;

cin >> e;


while (xn <= xk)
{

t = 1;
sum = 0;
n = 0;
prov = false;
do
{

t = (pow(-1, (n + 1)) * pow(xn, (2*n) + 1)) / ((2 * n) + 1);
sum = sum + t;
n++;


} while (e <= fabs(t));
double function;
function = round((PI / 2 + sum)*10000)/10000;
cout << xn << " " << function << " ";
if (prov == false)
{
cout << n;
cout << " " << function;
cout << endl;
xn = xn + dx;
}
}
return 0;
}
NIKITA555 вне форума Ответить с цитированием
Старый 25.12.2020, 04:43   #7
NIKITA555
 
Регистрация: 24.12.2020
Сообщений: 8
По умолчанию Ответ на данную задачу

#include <iostream>
#include <cmath>
#include <iomanip>
#define M_PI 3.14159265358979323846
using namespace std;
int main()
{
int k, n;
double eps, xn, dx, xk, f, y, sum, i;
cin >> xn >> xk >> dx >> eps;
for (i = xn; i <= xk; i += dx)
{
k = 1;
if (i < 0)
{
sum = M_PI / 2 + i;
y = i;
}
else
{
sum = M_PI / 2 - i;
y = -i;
}for (n = 0; abs(y) > eps; n++)
{
y = y * (i * i * (2 * n + 1)) / (-(2 * n + 3));
sum = sum + y;
k++;
}
f = atan(1 / i);
cout << fixed << setprecision(1) << i << " " << setprecision(4) << sum << " " << k << " " << setprecision(4) << abs(f) << endl;
}
return 0;
}
NIKITA555 вне форума Ответить с цитированием
Старый 26.12.2020, 14:30   #8
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

Ну это вот для 1 аргумента. Надеюсь оформление таблицы там и все-такое сами сделаете.
Код:
/******************************************************************************

Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.

*******************************************************************************/
#include <stdio.h>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
#define e 1e-12

double arcctg(double x)
{
    return M_PI/2 - atan(x);
}

int main()
{
    unsigned int n = 0, nech = 1;
    char Sign = -1;
    double an = 2, s = M_PI/2, x, p;

    cout << "s = " << s <<'\n';
    //|x| <= 1;
    x = 0.2;
    
    s -= x;
    p = x;
    cout << "s = " << s <<'\n';
    while(fabs(an) >= e)
    {
        nech += 2;
        Sign *= -1;
        p *= pow(x, 2);
        an = Sign*p/nech;
        s += an;
        cout << "nech = " << nech << ", " << "an = " << an << ", s = " << s <<'\n';
        n++;
    }
    cout << "s = " << s <<'\n';
    cout << "n = " << n <<'\n';
    cout << "arcctg = " << arcctg(x) <<'\n';

    return 0;
}
https://onlinegdb.com/r1kc05Vav
Cuprum5 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51