0 / 0 / 1
Регистрация: 12.05.2016
Сообщений: 9
1

Не могу понять почему не работает программа

12.05.2016, 21:58. Показов 1163. Ответов 5
Метки c++ (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
int f,x,a,b,c;
    cin>>x;
if (x>0)
    {f=pow(-x,4);
cout<<f;}
else
    {f=x+92;
cout<<f;}
if (x==0)
    {f=0;
cout<<f;}
Все работает кроме нуля! Когда вводишь 0 выводит 92 !! Как так!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2016, 21:58
Ответы с готовыми решениями:

не могу понять почему не работает программа
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; using namespace std;...

Не могу понять, почему программа неправильно работает!
Изучаю С++ по Страуструпу Б. - Программирование. Принципы и практика использования C++. Есть...

Не могу понять почему программа работает не правильно!
Задание: Программа находит в строке 1 символ который не входит во 2 заданную строку. Помогите...

Не могу понять почему программа работает некорректно (односвязные списки)
Построить однонаправленный список чисел. Затем исключить из него все повторы чисел, оставить каждое...

5
Вездепух
Эксперт CЭксперт С++
10421 / 5693 / 1550
Регистрация: 18.10.2014
Сообщений: 14,027
12.05.2016, 22:01 2
Цитата Сообщение от Fantess Посмотреть сообщение
Когда вводишь 0 выводит 92 !! Как так!
Так ведь там прямо так и написано

C++
1
2
3
4
5
6
7
if (x > 0)
  ...
else
{
  f = x + 92;
  cout << f;
}
Что по-вашему тут должно выводиться, если не 92?
0
1369 / 592 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
12.05.2016, 22:03 3
Лучший ответ Сообщение было отмечено Fantess как решение

Решение

Потому что этот if с нулём где, сам по себе, к ветвлению не относящийся.
В начале когда ноль, первый if срабатывает (его кусок с else, +92) и уже там не ноль. Нечему срабатывать.
1
0 / 0 / 1
Регистрация: 12.05.2016
Сообщений: 9
12.05.2016, 22:04  [ТС] 4
Программа должна работать так: если вводишь 2 тебе выводит 16! если вводишь -2 тебе выводит 90! если вводишь 0 тебе выводит 0( если x=0, то f=0 и значит вывести нужно 0)
0
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 18
12.05.2016, 22:06 5
нужно просто перетащить if(x==0) выше.
0
0 / 0 / 1
Регистрация: 12.05.2016
Сообщений: 9
12.05.2016, 22:14  [ТС] 6
А как исправить?

Добавлено через 1 минуту
Я перетащил if с 0 и ответ 092 получился

Добавлено через 2 минуты
Цитата Сообщение от daslex Посмотреть сообщение
Потому что этот if с нулём где, сам по себе, к ветвлению не относящийся.
В начале когда ноль, первый if срабатывает (его кусок с else, +92) и уже там не ноль. Нечему срабатывать.
daslex, как тогда правильно сделать?

Добавлено через 3 минуты
Всем спасибо! сделал!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2016, 22:14
Помогаю со студенческими работами здесь

Не могу понять, почему программа работает неправильно( Знаю, что где-то ошибки, но не могу найти
{Ввести последовательность натуральных чисел Aj j=1...n (n&lt;=1000). Упорядочить последовательность...

Не работает простенькая программа. Не могу понять почему
Код программы: public class Calculate { public static void main(String args) { int...

Не могу понять почему программа не выводит результат (простейшая программа)
Здравствуйте уважаемые форумчане! Я начал изучать C++ при помощи книги. На днях я столкнулся со...

Не работает изменение, не могу понять почему, Update не работает, ошибку выдает
Помогите, изменение с помощью button string u =...

Не могу понять почему не работает (или правильно не работает)
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #define N 5 #define M 3 void main() { int a; ...

Не могу понять почему не работает
#include &lt;iostream&gt; using namespace std; int main() { double a; double b; cout&lt;&lt;&quot;vvedite...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru