Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
#1

Найти результат работы функции - C++

03.10.2013, 15:58. Просмотров 503. Ответов 18
Метки нет (Все метки)

/*Есть функция F(x)=5cos(x)-2sin(x). Надо найти сред.ариф. тех значений, которые функция принимает при значениях аргумента (то есть значениях x) в диапазоне [-2..3] с шагом 0.1. Делать через функцию.*/
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
 
int Racer(int Num)
{
    const int s = 5;
    double Z;
    int sum = 0;
    for (int x = -2; x <= 3; x=x+0.1)
      {
        double FX = (5 * cos(x)) - (2 * sin(x));
        sum += FX;
      }
    Z = (sum / (5/0.1));
    return Z;
}
 
main()
{
    cout <<"SredArif: " << Racer << "\n";
    
    system("pause");
    return 0;
}
В итоге выводит единицу! Где неверный кусок решения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2013, 15:58     Найти результат работы функции
Посмотрите здесь:

Записать в файл результат работы функции - C++
Можно ли вообще след. программу записать в файл ? Для этой проги ничего на форуме не нашел, а что нашел, не подходит особо ( ...

Каков будет результат работы функции? - C++
Хочу разобраться в псевдокоде IDA. Подскажите пожалуйста, в интернете мало информации об этом. int __cdecl main(int argc, const char...

Разный результат работы функции в release и debug - C++
Такая проблема. Есть программа, в которой объявляется переменная типа std::string. Ниже вызывается функция, реализованная в dll,...

Результат работы функции как параметр шаблона - C++
В старом с++ билдере такое работало, новый clang ругается. template &lt;class T, const IID* piid = &amp;__uuidof(T)&gt; class CComQIPtr { .. ...

найти результат работы - C++
Результат работы фрагмента программы int s1, s2; s1=19.99+11.99; s2= int (19.99) + int (11.99); cout &lt;&lt; s1 &lt;&lt; &quot; &quot;; cout...

Найти фрагмент поиска минимума (максимума) и сформулировать результат работы программы. - C++
помогите пожалуйста описать программку Найти фрагмент поиска минимума (максимума) и сформулировать результат работы программы. Char...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
WilFred
31 / 26 / 3
Регистрация: 11.03.2012
Сообщений: 71
03.10.2013, 16:12     Найти результат работы функции #2
Super GT, попробуй так:
C++
1
double FX = (5.0 * cos(x*M_PI/180)) - (2.0 * sin(x*M_PI/180));
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 16:17  [ТС]     Найти результат работы функции #3
Тоже самое, не помогло.
WilFred
31 / 26 / 3
Регистрация: 11.03.2012
Сообщений: 71
03.10.2013, 16:23     Найти результат работы функции #4
Цитата Сообщение от Super GT Посмотреть сообщение
int Racer(int Num)
C++
1
double Racer(int Num)
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 16:27  [ТС]     Найти результат работы функции #5
Что-то безрезультатно, уже все типы перепробовал, функция возвращает верный тип, который указываю, но толку нет. Похоже где-то закралась ошибка...
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
03.10.2013, 16:28     Найти результат работы функции #6
Целое x не может увеличиваться с шагом 0.1 в цикле.
Поставь double x
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 16:32  [ТС]     Найти результат работы функции #7
Поставил, без толку.

Сейчас вот так сделал, таже история.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
double Racer(int Num)
{
    const int s = 5;
    double Z;
    double sum = 0;
    for (double x = -2; x <= 3; x=x+0.1)
      {
        double FX = (5 * cos(x)) - (2 * sin(x));
        sum += FX;
      }
    Z = (sum / (5/0.1));
    return Z;
}
Аа, у меня в заголовке функции зачем-то Num стоит...щас посмотрим.
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
03.10.2013, 16:41     Найти результат работы функции #8
Не может быть чтобы функция Racer возвращала 1.
WilFred
31 / 26 / 3
Регистрация: 11.03.2012
Сообщений: 71
03.10.2013, 16:42     Найти результат работы функции #9
Super GT, вот у меня работает
C++
1
2
3
4
5
float Z;
    int sum = 0;
    for (float x = -2; x <= 3; x+=0.1)
        sum += (5.0 * cos(x*M_PI/180)) - (2.0 * sin(x*M_PI/180));
    Z = (sum / (50));
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
03.10.2013, 16:45     Найти результат работы функции #10
WilFred, Функции cos и sin принимают аргумент в радианах.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
03.10.2013, 16:51     Найти результат работы функции #11
castaway, WilFred, дело не в радианах и не просто в целочисленных константах.
У него сам икс объявлен целым числом, хотя в цикле ему присваиваются дробные значения!!!
Цитата Сообщение от Super GT Посмотреть сообщение
for (int x = -2; x <= 3; x=x+0.1)
C++
1
for (float x = -2; x <= 3; x=x+0.1)
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 16:52  [ТС]     Найти результат работы функции #12
Не помогает. Непонятно, в чем причина. :\
А алгоритм по сути правильный?
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
03.10.2013, 16:54     Найти результат работы функции #13
Super GT, так ты ещё раз пересмотри свою программу! может ещё где-то забыл int на float поменять?!?! там же не только float x
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 17:00  [ТС]     Найти результат работы функции #14
Вот функция:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
double Racer()
{
    float sum = 0;
    for (float x = -2; x <= 3; x+=0.1)
      {
        sum += (5 * cos(x)) - (2 * sin(x));
      }
    float Z = (sum / (5/0.1));
    return Z;
}
В итоге вылетает 1, и что не так
WilFred
31 / 26 / 3
Регистрация: 11.03.2012
Сообщений: 71
03.10.2013, 17:04     Найти результат работы функции #15
Super GT, у меня всё работает...
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 17:08  [ТС]     Найти результат работы функции #16
Проверьте плз этот код, будет ли у вас он работать:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
 
double Racer()
{
    float sum = 0;
    for (float x = -2; x <= 3; x+=0.1)
      {
        sum += (5 * cos(x)) - (2 * sin(x));
      }
    float Z = (sum / (5/0.1));
    return Z;
}
 
main()
{
    cout <<"SredArif: " << Racer << "\n";
    
    system("pause");
    return 0;
}
WilFred
31 / 26 / 3
Регистрация: 11.03.2012
Сообщений: 71
03.10.2013, 17:11     Найти результат работы функции #17
Цитата Сообщение от Super GT Посмотреть сообщение
cout <<"SredArif: " << Racer << "\n";
Работает вот так:
C++
1
cout <<"SredArif: " << Racer() << "\n";
Super GT
4 / 4 / 0
Регистрация: 23.12.2012
Сообщений: 131
03.10.2013, 17:14  [ТС]     Найти результат работы функции #18
WilFred,
Ай-яй-яй, спс дружище!
Я уж думал у меня проблемы с восприятием простейших вещей. Скобки забыл)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2013, 17:30     Найти результат работы функции
Еще ссылки по теме:

Результат работы фрагмента! - C++
Здраствуйте!Помогите пожалуйста с решением задачки...говорят простая, но я не бум-бум в програмировании.Вообщем суть в том, что надо...

Найти ошибку - после работы функции addStudent, оценки старых студентов не присваиваются новому массиву - C++
Помогите найти ошибку. После работы функции addStudent, оценки старых студентов не присваиваются новому массиву. struct student{ ...

Как посмотреть результат работы препроцессирования? - C++
http://www.cyberforum.ru/blogs/18334/blog100.html - посмотрел тут и прошелся по ссылкам и ничего не понял... У меня VS community 2015 и...

Объясните результат работы следующей программы - C++
double x =1.23456789; for(int i=0; i&lt;1030;i++) x=x/2; for( int i=0; i &lt;1030;i++) x=x*2; cout.precision (12); ...


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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
03.10.2013, 17:30     Найти результат работы функции #19
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
castaway, WilFred, дело не в радианах и не просто в целочисленных константах.
У него сам икс объявлен целым числом, хотя в цикле ему присваиваются дробные значения!!!
Об этом я ему сказал в 6-м посте
Yandex
Объявления
03.10.2013, 17:30     Найти результат работы функции
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru