Форум программистов, компьютерный форум, киберфорум
Наши страницы
C (Си)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
baykonurr
11 / 11 / 2
Регистрация: 19.02.2013
Сообщений: 103
1

Почему не работает програма с действительными значениями. Среда Dev C++

12.09.2013, 14:35. Просмотров 487. Ответов 1
Метки нет (Все метки)

z=x2-y2 если x>y and y>0
z=x+y если x>y and y<0
z=x-y если x<y and y>0
z=x иначе при x=2.4; y=-9.3

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
main()
{
float z, x, y;
printf("vvedit dva chusla\n");
scanf("%f%f", &x, &y);
if (x==2.4 && y==-9.3)
     z=x;
else
{
     if (x>y && y>0)
     z=x*x-y*y;
     if (x>y && y<0)
     z=x-y;
     if (x<y && y>0)
     z=x+y;
}
printf("z=%f", z);
getch();
}
Что не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 14:35
Ответы с готовыми решениями:

Простая среда типа Dev C++
Всем доброго времени суток! Нужна среда на подобии Dev C++, только для java. Можете подсказать?...

Слияние (обновление) столбца идентификатора с автоинкрементом с действительными значениями от SQL Server
Здравствуйте, форумчане ! Битый день сижу над темой...

Почему не устанавливается програма?
Нужен V-Ray 2.20.02 для 3ds Max 2010 x64 Скачивал в двух местах, А вот установить не...

среда "Dev C++" подскажите
Работает ли в этой среде заголовок &lt;conio.h&gt; ???

Не работает програма
Program lab8; var a,y:real; function Sh(x:real):real; begin Sh:=(exp(x)-exp(-x))/2; end;...

1
lowercase
212 / 201 / 85
Регистрация: 09.05.2012
Сообщений: 494
12.09.2013, 19:33 2
полагаю не работает если ввести 2.4 и -9.3 для х и у соотвественно. с большой вероятностью проблема в том, что нельзя просто так взять и определить равность двух чисел с плавающей точкой(гы (с)). о чем это я? а я о том, что то же число 2.4 может хранится в памяти как 2.399999, таким образом 2.4 != 2.399999. что нужно сделать, чтобы работало? нужно учесть погрешность.
например если нам нужно сравнить значение перемнной х с числом 18.94, для этого используем погрешность 0.0001, т.е. будем сравнивать с точностью до 4х знаков после точки.
таким образом сравнение будет выглядить так:
C
1
2
3
4
float e=0.0001; // погрешность.
if((x + e) > 18.94 && (x - e) < 18.94)) {
  // x == 18.94
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.09.2013, 19:33

Не работает програма
Код #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; using namespace std; int main ()...

Почему среда жалуется, хотя распознает переменные?
Пытаюсь откомпилировать код, но во вкладке Error List выскакивают ошибки с неопределенными...

Почему не выводит z? Dev-C++
Почему не выводит z и сразу само выводит y? #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru