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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 12:39   #1
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию Вычисление в произвольной точке x значений функций

Составить программы для вычисления в произвольной точке x значений функций , определяемых следующими графиками:
Параметры a, b, c, берутся из таблицы 1.

Таблица №1
a 0,267
b 0,173
c 0,098


Код:
#pragma hdrstop
#include <iostream>
#include <math.h>

#define a 0.267
#define b 0.173
#define c 0.098

namespace
{
	float kb(float y, float x)
	{
		if (x > pow(y, 2)) return 0.8;
		if (x == pow(y, 2)) return x*(-1);
		else 
			return 0.13*x;
	};
};

int main()
{
	float f, x, y;
	y = a/b - c;
	std::cout << "Enter x: " << std::endl;
	f = ::kb(y, x);
	std::cout << y << " " << "f = " << f <<std::endl;
	return 0;
}
Все равно что-то не так в задачнике как бы есть пример, вот такой немного по другому выходит


Код:
#include <stdio.h>
void main()
{
	double f, x, y, absy;
	printf("\n введите x = ");
	scanf("%lf", &x);
	y = x * x - 1.;
	if (y < 0) absy = -y; /* вычисление | y | */
	else absy = y;
	if (absy <= 1.) f = y * y * y - 1.;
	else
	{
		if (absy <= 2.) f = 2 * y - 1.;
		else
			f = 5. / 8. * y - 1.;
	}
	printf("\n f = %f", f);
}
Изображения
Тип файла: png Снимок экрана 2011-02-14 в 12.36.28.png (18.6 Кб, 57 просмотров)
j-pavlov вне форума Ответить с цитированием
Старый 14.02.2011, 13:19   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
#define a 0.267
#define b 0.173
#define c 0.098
используй const

Цитата:
namespace
{
float kb(float y, float x)
{
if (x > pow(y, 2)) return 0.8;
if (x == pow(y, 2)) return x*(-1);
else
return 0.13*x;
};
};
зачем тебе безымянное пространство имён?

Я вообще не понял, как написанное тобой соотносится с заданием.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su

Последний раз редактировалось Obey-Kun; 14.02.2011 в 13:28.
Obey-Kun вне форума Ответить с цитированием
Старый 14.02.2011, 20:41   #3
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

ну я же и выложил чтобы проверили )) и подправили..
j-pavlov вне форума Ответить с цитированием
Старый 14.02.2011, 22:34   #4
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

помогите горит....
j-pavlov вне форума Ответить с цитированием
Старый 15.02.2011, 12:51   #5
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

я в твоей другой теме, кажется, уже давал решение этой задачи.
представленный тобой код с задачей вообще не соотносится, как тут можно что-то подправить, не представляю.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 15.02.2011, 22:42   #6
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

ой ссори..
перепутал не тот график
вот
Изображения
Тип файла: png Снимок экрана 2011-02-15 в 22.41.27.png (13.4 Кб, 43 просмотров)
j-pavlov вне форума Ответить с цитированием
Старый 15.02.2011, 22:45   #7
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

а той верхней с графиком у меня код такой

Код:
#pragma argsused
#include <iostream>
#include <math.h>
#include <conio.h>
 
#define a 0.267
#define b 0.173
#define c 0.098
 
namespace kb
{
        float kb(float x)
        {
                if (c - (pow(b,2)/(4*a)) >= x) return a;
                if (x >= b/(2*a)) return a*pow(x,2) + b*x + c;
                else 
                        return -0.182*x;
        };
};
 
int main()
{
        float f, x, y;
        y = a/b - c;
        std::cout << "Enter x: " << std::endl;
    scanf("%lf", &x);
        f = kb::kb(x);
        std::cout << "y = " << y <<std::endl;
        getch();
        return 0;
}
j-pavlov вне форума Ответить с цитированием
Старый 15.02.2011, 23:10   #8
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

посмотрите так для задачи с f(x,y)

Код:
#pragma argsused
#include <iostream.h>
#include <math.h>
int main(int argc, char* argv[])
{
        float a=0.267, b=0.173, c=0.098, y, f, x;
        cout << "enter a value x: ";
        cin >> x;
        y = a/b - c;
        if (x > pow(y,2)) 
                {
                        f=0.8;
                }
        if (x==pow(y,2))
                {
                        f=x*(-1);
                }
        else
                {
                                 f=0.13*x;
                }
                cout << "f(x,y=)" << f;
        return 0;
}
проверь могут быть ошибки.. хотя.. идет всё
j-pavlov вне форума Ответить с цитированием
Старый 15.02.2011, 23:53   #9
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Почему a, b и c не const? Почему вместо if-elseif-else там только if-if-else? Кстати, из-за последнего неправильно считать будет.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 16.02.2011, 17:55   #10
j-pavlov
Пользователь
 
Регистрация: 21.01.2011
Сообщений: 34
По умолчанию

пасибо, сдал на 5
j-pavlov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Word 2003. Вычисление тригонометрических функций Kir@ Microsoft Office Word 5 29.04.2010 10:05
Вычисление функций в среде Delphi Vetal07 Помощь студентам 7 01.11.2009 09:28
Таблица значений и функций.... _°PROTOS°_ Паскаль, Turbo Pascal, PascalABC.NET 2 28.04.2009 07:46
Произвести вычисление значений функций. Результаты вычислений вывести в компонент ListBox Настенька..Блонди Помощь студентам 1 10.04.2009 00:32
Вычисление значений тригонометрических функций на основе разложения в ряд Маклорена Gangzta Помощь студентам 3 10.01.2009 15:47