Member 12723599 Ответов: 1

Код математической задачи или функции на языке Си


Функция определяется как: -

F (x)=x^2-x+1 Когда, 1<=x< 10 [Если f (x) =31, то f (x) =f (x) +1]
F (x) = x-1, Когда x=10

F (x) = 2x+1, Когда x> 10 и нечетно [если f (x) = 43, то f (x) = f (x) +2]

F (x) = 3x + 2 when, x>10 и даже.

Что я уже пробовал:

#include <stdlib.h>

 
void main()
{
    
    
    float x, polySum;
 
    printf("Enter the value x : \n");
    scanf("%d", &num);
   
    if(x=1 && x<10)
    {
     x=x^2-x+1 ;
     return x;
    }
    if(x=10 )
    {
    x=x-1;
    return x;
    }
    
if(x>10 && x/2=!0)
    {
    x=2x+1;
    return x;
    }
    
if(x>10 && x/2==0)
    {
    x=3x+2;
    return x;
    }

Patrice T

А у вас есть вопрос или проблема ?

Member 12723599

проблема

[no name]

Окей... давайте попробуем по-другому. Знаете ли вы, как задать вопрос или описать проблему? Если да, то, пожалуйста, задайте вопрос или опишите проблему. Просто выгрузка вашего неформатированного кода в публикацию ничего нам не говорит.

Patrice T

И вы планируете сказать, какая проблема или мы должны угадать?

jeron1

Пара замечаний,
if (x=10) должно быть if (x == 10), проверка на равенство в операторе if требует 2 равных знака. Кроме того, выполнение прямого утверждения равенства для типа float может быть болезненным, Google 'c++ float comparation' и вы получите много ссылок для просмотра.

x=2x+1; Этот вид нотации не работает в c++, компилятор будет рассматривать 2x как имя другой переменной (той, которая не объявлена), и, следовательно, вы получите синтаксическую ошибку при компиляции.
x = (2 * x) + 1; было бы более типично.


x / 2= = 0 не проверяет четность числа.

^ - это символ XOR, а не "возведенный в силу".

1 Ответов

Рейтинг:
2

Patrice T

Перед проблемами в вашем коде есть проблемы в ваших операторах
в

[If f(x) =31, then f(x) =f(x) +1]

и
[If f(x) = 43, then f(x) = f(x) +2]

f(x) =f(x) +1 и f(x) = f(x) +2 это невозможно.

Прежде всего вам нужно исправить свои утверждения.