0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
1

Не могу понять правильно ли работает программа

06.03.2021, 19:34. Показов 1148. Ответов 10

Author24 — интернет-сервис помощи студентам
У меня есть такой код на c++, для вычисления значений функции, вроде бы он работает, но не могу понять, правильно ли? Не судите строго это мой почти первый код на c++
Само задание на фото во вложение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define _CRT_SECURE_NO_WARNINGS 
#define PI 3.14159265
#include "pch.h"
#include "math.h"
#include <tchar.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
    double X, Y1, Y2 = 0;
    //Ввод исходных данных
    printf("input X: ");
    scanf("%lf", &X);
    //Вычисление выражения
    // - непосредственно по формуле (2.2)}
    Y1 = (((1 / 2) + pow(sin(X), 2)) * log(abs(sin(X)))) / (((PI) / 3) - asin(X));
    //Вывод вычисленных значений с надписями
    printf("\n\t\tY1\t\t\tY2");
    printf("\n\t\t%e\t\t%e\n", Y1, Y2);
    return 0;
}
Миниатюры
Не могу понять правильно ли работает программа  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2021, 19:34
Ответы с готовыми решениями:

Не могу понять почему программа работает не правильно!
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите...

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; ...

Итератор for работает не правильно. Не могу понять отчего
Дано задание: Люди стоят в очереди, но никогда не уходят из её начала, зато могут приходить в...

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти
{Ввести последовательность натуральных чисел Aj j=1...n (n&lt;=1000). Упорядочить последовательность...

10
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.03.2021, 19:49 2
Лучший ответ Сообщение было отмечено pgpavelgr как решение

Решение

Цитата Сообщение от pgpavelgr Посмотреть сообщение
не могу понять, правильно ли?
1/2=0 как результат целочисленного деления, для исправления поставьте точки 1./2.

для вещественных fabs

оформить нужно функцией и вызывать её для заданных значений x
C++
1
2
3
4
double f(double X)
{
    return (1./2.+pow(sin(X),2))*log(fabs(sin(X)))/(PI/3.-asin(X));
}
переменные ввода-вывода языка С++ это cin и cout
1
0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
06.03.2021, 19:55  [ТС] 3
Я в этом деле профан, я взял код из учебника по c++ и переделал его (там другая функция)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
double A=2.0, X=0.5, B, C, Y1, Y2;
//Ввод исходных данных
printf("input X: ");
scanf("%lf",&X);
printf("input A: ");
scanf("%lf",&A);
//Вычисление выражения
// - с использованием дополнительных переменных
B=A/2;
C=B*B;
// - непосредственно по формуле (2.2)}
Y2=(pow(A/2,X)-log10(A/2+1)) / (pow(A/2,3)
 -pow(A/2,2));
//Вывод вычисленных значений с надписями
printf("\n\t\tY1\t\t\tY2");
printf("\n\t\t%e\t\t%e\n",Y1,Y2);
return 0;
}
Здесь используется для ввода scanf и printf для вывода, это правильно? Можно также реализовать у меня, я что то не понимаю...
Миниатюры
Не могу понять правильно ли работает программа  
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.03.2021, 20:13 4
операторы ввода-вывода языка С scanf и printf можно (но не нужно) использовать в программах на С++

кстати Ваша задача не такая простая, так как выражение определено не при всех значениях x, если это учебный пример, возьмите функцию попроще (написать код я могу, но эта инф, если Вы только начали будет пока для Вас лишней)
0
0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
06.03.2021, 20:14  [ТС] 5
Вопрос небольшой, а для чего в примере данное авторами пособия даны данные строки?

C++
1
2
3
4
//Вычисление выражения
// - с использованием дополнительных переменных
B=A/2;
C=B*B;
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.03.2021, 20:27 6
Цитата Сообщение от pgpavelgr Посмотреть сообщение
для чего в примере данное авторами пособия даны данные строки?
чтобы 2 раза не считать одно и тоже. можно записать так:
C++
1
C=(A/2)*(A/2);
но лучше ввести дополнительную переменную B и записать:
Цитата Сообщение от pgpavelgr Посмотреть сообщение
B=A/2;
C=B*B;
0
0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
06.03.2021, 20:31  [ТС] 7
Ясно понял. И мой код по сути правильно работает? Да он не учитывает x, при которых функция не определена, но всё же
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.03.2021, 20:34 8
то есть в задаче вместо
Цитата Сообщение от pgpavelgr Посмотреть сообщение
Y2=(pow(A/2,X)-log10(A/2+1)) / (pow(A/2,3)-pow(A/2,2));
лучше записать:
C++
1
2
B=A/2.;
Y2=(pow(B,X)-log10(B+1)) / (pow(B,3)-pow(B,2));
Добавлено через 2 минуты
Цитата Сообщение от pgpavelgr Посмотреть сообщение
мой код по сути правильно работает?
Вам всё нужно повторять дважды ? нет, неправильно, потому что в Вашем коде
Цитата Сообщение от pgpavelgr Посмотреть сообщение
1 / 2
равно нулю, а должно быть равно 0.5

кроме того нужно добавить функцию и 6 значений x, можно в виде массива
0
0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
06.03.2021, 20:37  [ТС] 9
Цитата Сообщение от Yetty Посмотреть сообщение
равно нулю, а должно быть равно 0.5
А если записать как вы сказали
Цитата Сообщение от Yetty Посмотреть сообщение
1./2.
?
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
06.03.2021, 20:44 10
pgpavelgr, мне сложно с Вами общаться. могу повторить в третий раз что нужно сделать c Вашим кодом для решения задачи: заменить 1/2 на 1./2., abs на fabs, добавить функцию и обработать 6 значений x, для значений при которых функция не определена вывести: функция не определена
0
0 / 0 / 0
Регистрация: 05.03.2019
Сообщений: 102
06.03.2021, 20:46  [ТС] 11
Мне тоже с вами тяжело общаться.
0
06.03.2021, 20:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2021, 20:46
Помогаю со студенческими работами здесь

Не могу понять почему не правильно работает код (<map>)
Здравствуйте! Выполняю задачку одну. Полное задание здесь, если любопытно: Реализуйте систему...

голову ломаю но не могу понять почему сортировка не правильно работает
Ввести и сохранить в файле данные следущей структуры: наименование фирмы, адрес, наименование...

Подскажите, не работает код, не могу понять почему - вроде бы все правильно
Доброго времени суток Есть задача - при клике на кнопку должен создаваться параграф в теле...

не могу понять почему не работает программа
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; using namespace std;...

Не могу понять как работает программа
Здравствуйте люди.Помогите понять как работают фнкции в программе(см. ниже). Учусь по книге Стефана...

Не могу понять как работает программа - C++
Здравствуйте помогите как работает программа #include &lt;windows.h&gt; #include &lt;iostream&gt; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru