Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 05.03.2011
Сообщений: 29
1

Неправильная работа if

16.09.2011, 13:53. Показов 932. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!
Задали по лабараторки сделать программу, обрабатывающию 2 уровнения. Задание: y=f1 если C, в противном случае y=f2 (сами функции в приложенном файле).
Вроде сделал программу, но проблема в том, что какой x не выберай, он все равно делает 1. уровнение. Пожалуйсто подскажите где ошибка. Может у меня не правельно указаны невозможные х??

Код программы:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <windows.h>
#include <math.h>
 
int main()
{
    float x,a,b,y;
    
    do
    {
        system("cls");
        printf("Vladimirs Fjodorovs\n");
        printf("101RDB015\n");
        printf("2. kurss 2. grupa\n");
        printf("24. variants\n");
        printf("\n");
        printf("Ievadiet x= \n");
        scanf("%f",&x);
        if(x==0||x==0.5||cos(x)==0)
        {
            printf("Ievadita nepareiza x vertiba! \n");
            system("pause");
        }
        else
        {
            a=2/(x-2*pow(x,2));
            b=log(cos(x))/log(1+pow(x,2));
            if(pow(a,2)>b)
            {
                 y=(2*(3*a*pow(b,2)-2*b)*sqrt(pow(b,3)))/(15*pow(a,2));
                 printf("Tika izmantota 1.zara funkcija f1!\n");
            }
            else
            {
                 y=cos(a)+sin(pow(a,3))/(cos(pow(a,3))-1);
                 printf("Tika izmantota 2. zara funkcija f2!\n");
            }
        printf("x=%5.2f, a=%5.2f, b=%5.2f, y=%5.2f\n",x,a,b,y);
        system("pause");
        }
    }
    while(x==0||x==0.5||cos(x)==0);   
    return(0);
}
Заранее болшое спасибо. Спасите мою грешную душу! ;((
Вложения
Тип файла: docx zadanie.docx (27.7 Кб, 10 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.09.2011, 13:53
Ответы с готовыми решениями:

Неправильная работа программы
Написал код. Компилируется. Проблема в своенравном поведении программы. Нужная логика Push...

Неправильная работа putchar()
Доброго дня суток. бида пришла из ниоткуда: в простом, вроде бы, задании, функция putchar() никак...

Неправильная работа функции времени
Образовалась такая проблема...весь код работает нормально...но проблема заключается в том, что...

Неправильная работа getch() в switch
Добрый день! Пишу &quot;Морской бой&quot; на Си. Столкнулся с проблемой, связанной с функцией getch()....

4
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
16.09.2011, 14:07 2
Цитата Сообщение от VuFa Посмотреть сообщение
b=log(cos(x))/log(1+pow(x,2));
здесь модуль забыл
0
0 / 0 / 1
Регистрация: 05.03.2011
Сообщений: 29
16.09.2011, 14:31  [ТС] 3
Проблема в том, что вставив там модуль, у меня при запуске программы при любых допустимых мною х выдает, что a^2>b и используется 1. уровнение. При чем y получается ирациональным(( как это исправить тогда((

b=log(fabs(cos(x)))/log(1+pow(x,2)); - я так прописываю
0
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
16.09.2011, 14:35 4
какая разница какое уравнение используется, как в задание написано, так и надо делать. А результат по барабану уже.
0
0 / 0 / 1
Регистрация: 05.03.2011
Сообщений: 29
17.09.2011, 19:50  [ТС] 5
А модуль я вообще в нужном месте прописываю?
0
17.09.2011, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.09.2011, 19:50
Помогаю со студенческими работами здесь

Неправильная работа с указателями на массивы
ДД! Написал такой вот код, компилится нормально, но при выводе результатов в консоль видно, что...

Обнуление переменных (неправильная работа приложения)
Добрый день, подскажите, почему такое может получаться (компилятор VS2013 pro). Данное приложение...

Неправильная работа программы определения "магического квадрата"
Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т.е....

Неправильная работа функции "printf"
#include &lt;stdio.h&gt; int main() { int m = 7; FILE *mnt; mnt = fopen(&quot;string in file.txt&quot;,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru