0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 13
1

Вычисление значения функции

09.02.2017, 17:50. Показов 5517. Ответов 5
Метки нет (Все метки)

Вычислить и вывести на экран в виде таблицы значения функции F на интервале
от Xнач. до Xкон. с шагом dX.
F=ax^2+b при x-1<0 и b-x!=0
F=(x-a)/x при x-1>0 и b+x=0
F=x/c в остальных случаях
где a,b,c - действительные числа.
Функция F должна принимать действительныое значение, если выражение
(Ац ИЛИ Вц) МОД2(Вц И Сц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены
целые части значений a,b,c, операции И,ИЛИ, и МОД2(сложение по модулю 2)-поразрядные.
Значения a,b,c,Xнач.,Xкон.,dX ввести с клавиатуры.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <stdio.h>
#include<math.h>
#include <cstdlib>
 
int main(){
    float a,b,c,Xn,Xk,dX,F;
    printf("Enter a,b,c,Xn,Xk,dX \n");
    scanf("%f%f%f%f%f%f",&a,&b,&c,&Xn,&Xk,&dX);
    printf("a=%f\nb=%f\nc=%f\nXn=%f\nXk=%f\ndX=%f\n",a,b,c,Xn,Xk,dX);
    printf("-----------------\n");
    printf("|   X   |   F   |\n");
    printf("-----------------\n");
    for(float x=Xn; x<=Xk; x+=dX){
    if(x-1<0 && b-x!=0) F=a*(x*x)+b;
    if(x-1>0 && b+x==0) F=(x-a)/x;
    else F=x/c;
    if((a||b)^(b&&c)!=0) printf("|   %f   |   %f   |\n",x,F);
    else                 printf("|   %f   |   %d   |\n",x,(int)F);
    printf("-----------------\n");
    }
    system("pause");
    return 0;
}
Программа работает, но почему то логическая операция в последнем if все время возвращает ложь при любых значениях a, b, c. С отрицательными числами вообще неправильно работает.
Вот примеры работы программы:
Миниатюры
Вычисление значения функции   Вычисление значения функции  
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2017, 17:50
Ответы с готовыми решениями:

Ввод значения аргумента x и вычисление значения функции y
Разработать программу, которая вводит значения аргумента x и вычисляет значение функции y:

Вычисление значения функции (x+y/(y+1)-(xy-12)/(34+x)
составить программу вычисления значения функции ((x+y/(y+1))-((xy-12)/(34+x)) на c++

Вычисление значения функции
1.Написать программу выполняющую указанные вычисления. 2. При реализации программы допустить...

Вычисление значения функции
Доброго времени суток. Дано условие. Надо вычислить значение функции Если x&lt;0 или x&gt;10, то z=x, в...

5
1269 / 1026 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
09.02.2017, 18:18 2
Попробуй добавить скобки:
if ( ((a||b)^(b&&c))!=0 )
0
Модератор
Эксперт С++
12483 / 10036 / 6036
Регистрация: 18.12.2011
Сообщений: 26,855
09.02.2017, 18:25 3
Цитата Сообщение от academec Посмотреть сообщение
(a||b)^(b&&c)!=0
Компилятор понимает это так

(приведение к целому)
(
( (а не равно нулю) или (b не равно нулю))
(исключающее или)
( (b не равно нулю) и (c не равно нулю))
) не равно нулю
Похоже на то, что хотелось?
0
1269 / 1026 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
09.02.2017, 18:44 4
Лучший ответ Сообщение было отмечено academec как решение

Решение

1) Если в формуле должны быть целые числа, то их можно легко получить: int ac = a, и в формуле использовать ac вместо a.

2) Поразрядные операции состоят из одного символа: &, |.
1
0 / 0 / 0
Регистрация: 04.12.2016
Сообщений: 13
09.02.2017, 18:55  [ТС] 5
Спасибо за ответы, но например при значениях a=1, b=2, c=3, Xn=-5, Xk=5, dX=1 функция попадает под условия if(x-1<0 && b-x!=0) F=a*(x*x)+b; F должен быть равен 27, как сделать чтобы после выполнения этого условия игнорировалось F=x/c;

Добавлено через 7 минут
error: invalid operands of types 'float' and 'float' to binary 'operator& - выдает такое сообщение если использовать один символ &,|
0
1269 / 1026 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
09.02.2017, 19:40 6
Цитата Сообщение от academec Посмотреть сообщение
error: invalid operands of types 'float' and 'float' to binary 'operator& - выдает такое сообщение если использовать один символ &,|
Всё же написано по-английски: операция & не может иметь операнды вещественного типа.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2017, 19:40
Помогаю со студенческими работами здесь

вычисление значения функции
Разработать алгоритм и составить по нему программу для вычисления значений функции z = ...

Вычисление значения функции
Нужно составить программу для вычисления значения функции. Программа уже готова, но при попытке...

Вычисление значения функции
помогите под цифрой 1 на фото если не понятно. то во втором уравнении в знаменателе х^3

Вычисление значения функции
Составить программу вычисления значения функции y(x) при произвольном значении х y = \frac{(1 +...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru