C - вычислить значения функции
Добавлено: 17 июн 2008, 19:41
Задание
Вычислить и вывести на экран в виде таблицы значения функции F на интервале
от Хнач. до Хкон. с шагом dX.
f = a*x*x + b, если x - 1 < 0 и b - x != 0;
f = x - a/x, если x - 1 > 0 и b + x == 0;
В остальных случаях x/c
где а, Ь, с — действительные числа.
Функция F должна принимать действительное значение, если выражение
(Ац ИЛИ Вц) МОД2 (Вц И Сц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна*
чены целые части значений а,fc,с, операции И, ИЛИ и МОД2 (сложение по мо*
дулю 2) — поразрядные. Значения а, 6, с, Хнач., Хкон., dX ввести с клавиатуры.
Привет.
Написал код, работает в Visual C++ 6.0. вроде.
Хотелось узнать правильно ли я сделал условие "(Ац ИЛИ Вц) МОД2 (Вц И Сц)"?
Вычислить и вывести на экран в виде таблицы значения функции F на интервале
от Хнач. до Хкон. с шагом dX.
f = a*x*x + b, если x - 1 < 0 и b - x != 0;
f = x - a/x, если x - 1 > 0 и b + x == 0;
В остальных случаях x/c
где а, Ь, с — действительные числа.
Функция F должна принимать действительное значение, если выражение
(Ац ИЛИ Вц) МОД2 (Вц И Сц)
не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозна*
чены целые части значений а,fc,с, операции И, ИЛИ и МОД2 (сложение по мо*
дулю 2) — поразрядные. Значения а, 6, с, Хнач., Хкон., dX ввести с клавиатуры.
Код: Выделить всё
#include "stdafx.h"
#include <stdio.h>
int main(int argc, char* argv[])
{
double Xn, Xk, dX, a, b, c, y;
printf("Xn, Xk, dX, a, b, c: ");
scanf("%lf%lf%lf%lf%lf%lf", &Xn, &Xk, &dX, &a, &b, &c);
double x = Xn;
printf("----------------------\n");
printf("| X | Y |\n");
printf("----------------------\n");
for(;x <= Xk; x += dX)
{
if(x - 1 < 0 && b - x != 0)
{
y = (a * x * x) + b;
}
else
{
if(x - 1 > 0 && b + x == 0)
{
y = (x - a)/x;
}
else
{
y = x/c;
}
}
if((int(a) | int(b)) ^ (int(b) & int(c)))
printf("|%.2f |%.2f |\n", x, y);
else
printf("|%.2f |%d |\n", x, int(y));
}
printf("----------------------\n");
return 0;
}
Написал код, работает в Visual C++ 6.0. вроде.
Хотелось узнать правильно ли я сделал условие "(Ац ИЛИ Вц) МОД2 (Вц И Сц)"?