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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2018, 12:08   #1
bylbyl9tor
Пользователь
 
Регистрация: 07.10.2018
Сообщений: 28
Хорошо Помогите, где может быть ошибка

Написать программу, которая по введенному с клавиатуры значению аргумента x, находит
значение функции f(x). Функция задается в виде графика.
http://prntscr.com/l34zlp

Вот код:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x, y;


cout << "Vvedite x:"; cin >> x;


if (x >= -10.0 && x <= -6.0)
y = 2.0 - sqrt(abs(pow((x + 8.0), 2) - 4.0));
else if (x >= -6.0 && x <= -4.0)
y = 2.0;
else if (x >= -4.0 && x <= 2.0)
y = (-x) / 2.0;
else (x >= 2.0 && x <= 4.0);
y = x - 3.0;
cout << "Rezultat: y(" << x << ")=" << y << endl;
system("pause");
return 0;
}
bylbyl9tor вне форума Ответить с цитированием
Старый 07.10.2018, 16:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Код:
else (x >= 2.0 && x <= 4.0);
y = x - 3.0;
Что это? Зачем вам условие, если вы у всегда переприсваиваете?
p51x вне форума Ответить с цитированием
Старый 09.10.2018, 13:54   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Походу здесь
Код:
y = 2.0 - sqrt(abs(pow((x + 8.0), 2) - 4.0));
Уравнение окружности
(х-(-8))^2 +(y-2)^2=4, следовательно (y-2)^2= 4 -(х+8)^2,
(y-2)= корень(4 -(х+8)^2),
y= 2+корень(4 -(х+8)^2)
Кроме того наверное необходимо указать диапазон вводимых х и проанализировать, что введено значение в заданных пределах, если нет, то в зависимости от того что уже учили: цикл ввода или конец программы.
Цитата:
p51x
Что это? Зачем вам условие, если вы у всегда переприсваиваете?
Похоже, чтобы не анализировать введенный х на допустимый диапазон от-10 до 4 наверное правильнее было бы
Код:
else if (x >= 2.0 && x <= 4.0);
y = x - 3.0;
if (x >= -10.0 && x <= 4.0);
cout << "Rezultat: y(" << x << ")=" << y << endl;
else 
cout << "x vne predelov"
Неприятности приходят и уходят, а жизнь продолжается!

Последний раз редактировалось Sweta; 09.10.2018 в 14:16.
Sweta вне форума Ответить с цитированием
Старый 09.10.2018, 13:57   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Не похоже.
Код:
y = x - 3.0;
Происходит всегда. Вне условий. Независимо от того, было ли что-то присвоено в ифах.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование библиотеки в Си - подскажите где может быть ошибка paravoz1k Общие вопросы C/C++ 2 29.07.2015 00:06
Посмотрите где может быть ошибка в коде student-99 Общие вопросы Delphi 5 13.03.2013 23:33
Почему не работает код, где может быть ошибка sweyle Microsoft Office Excel 9 11.01.2012 21:11
Где может быть ошибка? Tricko C# (си шарп) 3 26.06.2011 12:42
где может быть ошибка? maksim_serg Microsoft Office Excel 2 21.04.2010 10:42