Форум программистов, компьютерный форум CyberForum.ru

Выводит не правильно, почему? - C++

Восстановить пароль Регистрация
 
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 14:44     Выводит не правильно, почему? #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
#include"conio.h"
#include"stdlib.h"
#include"stdio.h"
#include"math.h"
 
int main()
{
float x,y,r;
r=0.1+x;
printf("Input x=");
scanf("%d",&x);
if  
(x>=0.9)
  {
   y=pow(r,2);
   y=1/y;
   printf("%g",y);
  }else
if 
((0<=x)||(x<0.9))
  {
   y=0.2*x;
   y=y+0.1;
   printf("%g",y);
  } else
if
(x<0)
  {
   y=pow(x,2);
   y=y+0.2;
   printf("%g",y);
  }
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 14:44     Выводит не правильно, почему?
Посмотрите здесь:

C++ Почему не выводит m?
C++ Не правильно выводит значение (if, else)
C++ Не правильно выводит на экран
C++ Почему не выводит?
почему выводит 0? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RQdan
65 / 65 / 17
Регистрация: 26.10.2013
Сообщений: 198
24.11.2013, 14:53     Выводит не правильно, почему? #2
Чтобы кто-нибудь мог помочь, надо указать саму задачу и что надо сделать.
А то с голого кода непонятно что не так.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
24.11.2013, 14:59     Выводит не правильно, почему? #3
r=0.1+x; ???? х не определен перед этим
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 15:15  [ТС]     Выводит не правильно, почему? #4
y=система уравнений 1/(0.1+x)^2 , если х>=0.9
0.2x+0.1 , если 0<=x<0.9
x^2+0.2 , если x<0

Добавлено через 10 минут
написал задание
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
24.11.2013, 15:21     Выводит не правильно, почему? #5
Попробуйте строку
C++
1
r=0.1+x;
написать после
C++
1
scanf("%d",&x);
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 15:26  [ТС]     Выводит не правильно, почему? #6
всё равно считает не верно
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
24.11.2013, 15:33     Выводит не правильно, почему? #7
C++
1
if ((0<=x)||(x<0.9))
Так ведь нужно чтобы условия выполнялись одновременно,ведь вы указали
Цитата Сообщение от len95665 Посмотреть сообщение
если 0<=x<0.9
т.е x должен попадать в промежуток [0; 0.9)
Напишите так
C++
1
if (x>=0 && x<0.9)
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 19:43  [ТС]     Выводит не правильно, почему? #8
1 условие не выполняется пишет #INF
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
24.11.2013, 20:00     Выводит не правильно, почему? #9
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
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main()
{
    float x,y,r;
    printf("Input x=");
    scanf("%f",&x);//Исправление
    r=0.1+x;//Передвинул
    if(x>=0.9)
    {
        y=pow(r,2);
        y=1/y;
        printf("y=%g",y);
    }
    else if(0<=x || x<0.9)
    {
        y=0.2*x;
        y=y+0.1;
        printf("y=%g",y);
    } 
    else if(x<0)
    {
        y=pow(x,2);
        y=y+0.2;
        printf("y=%g",y);
    }
    system("pause>null");
    return 0;
}
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 20:21  [ТС]     Выводит не правильно, почему? #10
на первое условие #INF все равно выводит на экран

Добавлено через 2 минуты
#include"conio.h"
#include"stdlib.h"
#include"stdio.h"
#include"math.h"

int main()
{
float x,y,r;
printf("Input x=");
scanf("%f",&x);
r=0,1+x;
if
(x>=0.9)
{
y=pow(r,2);
y=1/y;
printf("%g",y);
}else
if
(x>=0 && x<0.9)
//((0<=x)||(x<0.9))
{
y=0.2*x;
y=y+0.1;
printf("%g",y);
} else
if
(x<0)
{
y=pow(x,2);
y=y+0.2;
printf("%g",y);
}
getch();
}



Помогите с первым условием
Alex566
 Аватар для Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
24.11.2013, 20:31     Выводит не правильно, почему? #11
Программа которую я выше представил полностью исправлена. Возьмите ее целиком и не будет #INF.
len95665
0 / 0 / 0
Регистрация: 14.11.2012
Сообщений: 19
24.11.2013, 20:36  [ТС]     Выводит не правильно, почему? #12
r=(0,1+x); // скобки нужны были, спасибо всем
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2013, 02:25     Выводит не правильно, почему?
Еще ссылки по теме:

C++ почему выводит 0?
C++ не правильно выводит результат
C++ Не правильно выводит массив

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

Или воспользуйтесь поиском по форуму:
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
25.11.2013, 02:25     Выводит не правильно, почему? #13
r=0,1+x; И что этим вы хотели сказать?
Yandex
Объявления
25.11.2013, 02:25     Выводит не правильно, почему?
Ответ Создать тему
Опции темы

Текущее время: 06:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru