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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2008, 20:53   #1
jazzben
 
Регистрация: 18.09.2008
Сообщений: 8
Радость [C++] ошибка в коде программы!!

Помогите пожалуйста!! вот смотрите есть код он как бы почти правильный только он подсчитывает неправильно
Пример надо вводить
0
0
2
-5
5
1

Он должен выводить 1.666

как этого добится помогите,очень вас прошу!! вот сам код

#include <iostream.h>
#include <conio.h>
void main (void)
{
float x,a,b,c,f,xk,dx,xn;
cin >> a >> b >> c >> xn >> xk >>dx;
for (x=xn;x<=xk;x=x+dx)
{ if(x<0&& b!=0)f=+a*(x*x)+b;
else if (x>0 && b==0) f=x-a/x-c;
else if (f=x/c);
cout<<"f="<<f;
}
getch();
}
jazzben вне форума Ответить с цитированием
Старый 27.09.2008, 00:01   #2
bakabul
Пользователь
 
Регистрация: 04.09.2008
Сообщений: 15
По умолчанию

желательно инициализировать переменны перед использованием
float x,a,b,c,f=0,xk,dx,xn;
используйте построчное исполнение и лишний раз проверьте алгоритм
bakabul вне форума Ответить с цитированием
Старый 27.09.2008, 16:38   #3
jazzben
 
Регистрация: 18.09.2008
Сообщений: 8
По умолчанию

Вот условие задачи


Для данного вещественного a,b,c вычислить значения следующей функции f,на интервалах Xn до Xk шагом dx : (продолжение на картинке) вот:

http://pic.ipicture.ru/uploads/080922/maNcuT62PT.jpg
jazzben вне форума Ответить с цитированием
Старый 27.09.2008, 17:06   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Цитата:
Сообщение от jazzben Посмотреть сообщение
#include <iostream.h>
#include <conio.h>
void main (void)
{
float x,a,b,c,f,xk,dx,xn;
cin >> a >> b >> c >> xn >> xk >>dx;
for (x=xn;x<=xk;x=x+dx)
{ if(x<0&& b!=0)f=+a*(x*x)+b;
else if (x>0 && b==0) f=x-a/x-c;
else if (f=x/c);
cout<<"f="<<f;
}
getch();
}
может вместо выделенного жирным кода нужно: else f=x/c; ?
pu4koff вне форума Ответить с цитированием
Старый 27.09.2008, 17:16   #5
jazzben
 
Регистрация: 18.09.2008
Сообщений: 8
По умолчанию

ну если так сделать то при вводе
a=0
b=0
c=2
x=-5
x=5
Ответ даёт 3
jazzben вне форума Ответить с цитированием
Старый 27.09.2008, 17:47   #6
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

какое еще 3? он выводит кучу значений f, проверил, все правильно. Откуда Вы ответы 3 и 1.666 взяли?
pu4koff вне форума Ответить с цитированием
Старый 27.09.2008, 17:49   #7
jazzben
 
Регистрация: 18.09.2008
Сообщений: 8
По умолчанию

Можете свой код копировать и вставить сюда(в ответ) для проверки!
И скажите какие занчения в вводите?!
jazzben вне форума Ответить с цитированием
Старый 27.09.2008, 17:54   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Код:
void main (void)
{
	float x,a,b,c,f,xk,dx,xn;
	cin >> a >> b >> c >> xn >> xk >>dx;
	for (x=xn;x<=xk;x=x+dx)
	{
		if(x<0&& b!=0)f = a*(x*x)+b;
		else if (x>0 && b==0) f = x-a/x-c;
		else f=x/c;
		cout << "f(" << x << ") = " << f << endl;
	}
	getch();
}
Результат работы программы:
0
0
2
-5
5
1
f(-5) = -2.5
f(-4) = -2
f(-3) = -1.5
f(-2) = -1
f(-1) = -0.5
f(0) = 0
f(1) = -1
f(2) = 0
f(3) = 1
f(4) = 2
f(5) = 3
pu4koff вне форума Ответить с цитированием
Старый 27.09.2008, 17:58   #9
jazzben
 
Регистрация: 18.09.2008
Сообщений: 8
По умолчанию

Смотрите что мне сказал преподователь!!!
Вводим
a=0
b=0
c=2
Xn=5

и типа он должен так считать что x-a/x-c 5-0/5-2 = 5/3 = 1.666
jazzben вне форума Ответить с цитированием
Старый 27.09.2008, 18:43   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Извините. Просмотрел. там же нужно написать:
...
else if (x>0 && b==0) f = (x - a)/(x - c);
...
pu4koff вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где ошибка в моем коде? artemavd БД в Delphi 12 22.09.2008 14:28
C++ ошибка в коде. Непонимаю что не так POPOV Помощь студентам 2 04.09.2008 18:04
Ошибка в коде (BorderStyle) Airou Общие вопросы Delphi 10 24.05.2008 19:50
Ошибка в коде nikleb Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2008 22:48
Где ошибка в коде? Македонский Общие вопросы Delphi 16 10.09.2007 15:45