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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2014, 19:32   #1
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию Помогите найти ошибку в коде

задача:
Вычислить сумму S(x) с точностью e=10^-4

для . Задать условие корректности ввода переменной х.
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main()
{
int sign, n=1.0,p=3.14,x;
double eps, sum, elem;
eps=0.0001;
printf("Vvedite x");
scanf("&d",&x);
if ((x>=-p) || (x<= p))
{
while(elem<eps)
{
elem=2/p-4/p*((cos(2*n)*x)/(1*n*(2*n)));
sum+=elem;
n+=2;
}
printf("sum=%lf",sum);
getch();
}
}
не могу понять, почему он выводит одно и тоже число, независимо, какое число x
vbn1 вне форума Ответить с цитированием
Старый 12.12.2014, 20:29   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Вот это -
Код:
int sign, n=1.0,p=3.14,x;
- что за чушь ?
И чему равно sum в самом начале?

Кстати, в math.h есть число пи - M_PI

И еще. While - цикл с предусловием. То есть сначала проверяется уловие elem<eps, а потом выполняется, если условие = истина. А у вас чему равна переменная elem до цикла while ?
Кстати, и условие неправильное, надо наоборот - " делать, пока elem больше чем eps "

Последний раз редактировалось type_Oleg; 12.12.2014 в 20:43.
type_Oleg вне форума Ответить с цитированием
Старый 12.12.2014, 20:42   #3
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию

все, я сам разобрался, я не заметил вот в этой строчке ошибка
Код:
scanf("&d",&x);
vbn1 вне форума Ответить с цитированием
Старый 12.12.2014, 20:45   #4
vbn1
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 67
По умолчанию

спасибо за старание, впринципе можно и просто переменную использовать)
vbn1 вне форума Ответить с цитированием
Старый 12.12.2014, 20:50   #5
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от vbn1 Посмотреть сообщение
спасибо за старание, впринципе можно и просто переменную использовать)
Только не типа int как у вас. Если вы про число пи
type_Oleg вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в коде ( С++ ) nexUS1 Помощь студентам 1 29.12.2009 01:09
помогите найти ошибку в коде Saka Помощь студентам 6 07.12.2009 11:43
помогите найти ошибку в коде xaero93 Помощь студентам 4 20.04.2009 16:05
Помогите найти ошибку в коде C++ Жека:) Помощь студентам 15 29.10.2008 11:32
помогите найти ошибку в коде Joker88 Помощь студентам 1 04.03.2008 12:43