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

Неправильный результат - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
12.01.2011, 18:27     Неправильный результат #1
1)В результате выдаёт -1.#J. Как это исправить?
2)Подскажите пожалуйста как задавать число пи, мне нужно присвоить его переменной pi.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <math.h>
#include <conio.h>
 
void main()
{
    float pi=1;
    float x=-pi,s=0,xk=pi,xh=pi/10;
    do
    {
        s+=log((x+1)/(2*x-1))/(x/(tan(x)+sin(2*x)));
        x+=xh;
    }
    while (x<=xk);
    printf("Summa=%6.2f\n",s);
    _getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 18:27     Неправильный результат
Посмотрите здесь:

C++ Ветвления. Дает неправильный результат
Неправильный результат выполнения программы C++
C++ Неправильный результат
C++ Неправильный ввод
C++ Неправильный результат char
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
12.01.2011, 18:35     Неправильный результат #2
Цитата Сообщение от Predvestnik Посмотреть сообщение
1)В результате выдаёт -1.#J. Как это исправить?
Ваша программа пытается вычислить логарифм от 0 (оно равно -бесконечности).
Цитата Сообщение от Predvestnik Посмотреть сообщение
2)Подскажите пожалуйста как задавать число пи, мне нужно присвоить его переменной pi.
C
1
2
3
4
5
...
#define _USE_MATH_DEFINES
#include <math.h>
.....
float pi=M_PI;
Учтите, что логарифм от "минус чего-то" - вообще неопределенно.
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
12.01.2011, 18:46  [ТС]     Неправильный результат #3
Теперь вообще не компилируется, я ж правильно написал всё чтоб пи подставить?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <math.h>
#include <conio.h>
#define _USE_MATH_DEFINES
 
void main()
{
    float pi=M_PI;
    float x=-pi,s=0,xk=pi,xh=pi/10;
    do
    {
        s+=log((x+1)/(2*x-1))/(x/(tan(x)+sin(2*x)));
        x+=xh;
    }
    while (x<=xk);
    printf("Summa=%6.2f\n",s);
    _getch();
}
lemegeton
 Аватар для lemegeton
2909 / 1338 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
12.01.2011, 19:02     Неправильный результат #4
Ошибки компиляции не забывайте прикладывать. На первый взгляд должно компилироваться в VSC++
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
12.01.2011, 20:02  [ТС]     Неправильный результат #5
error C2065: 'M_PI' : undeclared identifier
warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
1>
1>Build FAILED.

вот ошибки

Добавлено через 33 минуты
если я правильно понял то M_PI принимает за неизвестную переменную...
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.01.2011, 20:18     Неправильный результат #6
Predvestnik, попробуйте так

C
1
#define pi 3.14159
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
12.01.2011, 20:29  [ТС]     Неправильный результат #7
в таком случае и если просто присвоить переменной значение 3.14159 выдаёт -1.#J., на другом интервале всё работает а с этим запара получилась:/
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
12.01.2011, 20:46     Неправильный результат #8
Predvestnik, Вам же написали во втором посте!!!!
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
12.01.2011, 20:46     Неправильный результат #9
Predvestnik, я Вам так показывал:
C
1
2
#define _USE_MATH_DEFINES
#include <math.h>
Вы делаете так:
C
1
2
#include <math.h>
#define _USE_MATH_DEFINES
И вот почему ругается на M_PI.

Цитата Сообщение от Predvestnik Посмотреть сообщение
выдаёт -1.#J.
Цитата Сообщение от Евгений М. Посмотреть сообщение
Учтите, что логарифм от "минус чего-то" - вообще неопределенно.
Теперь смотрите, что вычисляется в первом цикле.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2011, 21:19     Неправильный результат
Еще ссылки по теме:

C++ Программа для подсчета калорий выдает неправильный результат
C++ Почему в выходной файл выводит неправильный результат?
C++ Найти максимальный элемент массива: неправильный результат, почему?

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

Или воспользуйтесь поиском по форуму:
Predvestnik
 Аватар для Predvestnik
7 / 6 / 2
Регистрация: 09.10.2010
Сообщений: 192
12.01.2011, 21:19  [ТС]     Неправильный результат #10
спасибо теперь понял и простите за тупость только начал делфи учить а тут с, и опять всё с нуля учить....
Yandex
Объявления
12.01.2011, 21:19     Неправильный результат
Ответ Создать тему
Опции темы

Текущее время: 04:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru