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

Ошибка в count<<x; - C++

Восстановить пароль Регистрация
 
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 21:04     Ошибка в count<<x; #1
Начал работать с С++ и столкнулся с Туевой Хучей проблем, основная из них незнание языка и синтаксиса.
Пожалуй первый свой косяк я сюда копипастну
Линейное уравнение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main(int argc, const char * argv[]) 
{
    // insert code here...
    using namespace std;
    cout << "Good morning, my Master. Lets work together today!\n";
    cout<<"a=";
    int a;
    cin>>a;
    cout<<"b=";
    int b;
    cin>>b;
    int x;
    if (a!=0) x=-b/a;
    if (b==0) x=0;
    cout<<x;
    return 0;
}
Он помечает count<<x; =(
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rookie Hose
4 / 4 / 2
Регистрация: 25.08.2014
Сообщений: 36
05.09.2014, 21:10     Ошибка в count<<x; #2
Наверное, вместо <> имеется ввиду (a > 0 || a < 0) ?

|| - это <условие1> ИЛИ <условие2>

Т.е. мы говорим, что а должен быть больше или меньше ноля
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 21:14     Ошибка в count<<x; #3
Цитата Сообщение от Bokinger Посмотреть сообщение
C++
1
2
if (a!=0) x=-b/a;
if (b==0) x=0;
А в остальных случаях у Вас х будет неинициализирован, и в нем будет храниться всякий мусор.
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 21:17  [ТС]     Ошибка в count<<x; #4
просто переписав условие он перестал останавливаться=(, останавливался на if (b==0) x=0; почему?
Пишу с яблокобука, через Xcode, может ли в этом быть проблема?

Добавлено через 1 минуту
то есть мне необходимо его занулить?
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 21:28     Ошибка в count<<x; #5
C++
1
2
3
4
5
6
7
8
9
float x;
if (a == 0)
{
    cout << "x = infinity" << endl;
    return 0;
}
else if (b == 0) x = 0;
else x = (float)-b / a;
cout << "x = " << x << endl;
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
05.09.2014, 21:30     Ошибка в count<<x; #6
Bokinger, всё нормально с кодом, у меня первоначальный вариант работает
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 21:32     Ошибка в count<<x; #7
Цитата Сообщение от Donnerwetter Посмотреть сообщение
Bokinger, всё нормально с кодом, у меня первоначальный вариант работает
А если ввести а = 0, а b > 0 или b < 0 тоже нормально работает?
Senarist
32 / 32 / 10
Регистрация: 14.03.2014
Сообщений: 509
05.09.2014, 21:33     Ошибка в count<<x; #8
Что то у Вас странный синтаксис...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main(int argc, const char * argv[]) 
{
    using namespace std;
    cout << "Good morning, my Master. Lets work together today!\n";
    cout<<"a= ";
    int a;
    cin>>a;
    cout<<"b= ";
    int b;
    cin>>b;
    int x;
    if (a) 
    cout<<"x= "<<-b/a<<endl;
    else if (b==0) 
    return 0;
    else
    cout<<"Error!";
    return 0;
}
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 21:37     Ошибка в count<<x; #9
Цитата Сообщение от Senarist Посмотреть сообщение
else if (b==0)
* * return 0;
Так ничего не выведет.
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
05.09.2014, 21:41     Ошибка в count<<x; #10
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
А если ввести а = 0
В таком случае, конечно, не будет работать, ведь это деление на ноль. Вам просто нужно добавить дополнительную проверку во избежание таких случаев.
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 21:42  [ТС]     Ошибка в count<<x; #11
если ввести а = 0, а b > 0 или b < 0 тоже нормально работает?
я проверял, он хорошо считает все, но ответ округляет, потому что я ввёл х как целое число, так?
а с нулем, мне нужно сделать отдельное условие, чтобы не было деления на 0?
Senarist
32 / 32 / 10
Регистрация: 14.03.2014
Сообщений: 509
05.09.2014, 21:43     Ошибка в count<<x; #12
Kerry_Jr 0 выведет)
Bokinger у Вас int/int = int причем округление всегда в меньшую сторону
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 21:46  [ТС]     Ошибка в count<<x; #13
а какой оператор допускает не целые числа в Си?
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 21:54  [ТС]     Ошибка в count<<x; #14
сейчас я делаю аналогию для квадратного уравнения и не могу воспользоваться sqrt, я прочитал, что это элемент библиотеки Math, но #include <math> не работает, как правильно это сделать?
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 21:58     Ошибка в count<<x; #15
Цитата Сообщение от Bokinger Посмотреть сообщение
но #include <math> не работает, как правильно это сделать?
#include <cmath>
для старых компиляторов #include <math.h>
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 22:08  [ТС]     Ошибка в count<<x; #16
#include <cmath>
для старых компиляторов #include <math.h>
а есть ли для математических операции аналогия std?
нужно ли мне прописывать using namespace "std"?

Добавлено через 8 минут
что я натворил на этот раз?
Квадратное уравнение
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 <iostream>
int main() {
    // insert code here...
    using namespace std;
    cout << "Good morning, my Master. Lets work together today!\n";
    cout<<"a=";
    int a;
    cin>>a;
    cout<<"b=";
    int b;
    cin>>b;
    cout<<"c=";
    int c;
    cin>>c;
    int x;
    x=0;
    if (a==0)
    {
        x=-c/b; cout<<x;
    }
    if (b==0)
    {
        x=(-c/a)^1/2; cout<<x;
    }
    if (a==0||b==0) cout<<"beskonechnoe mnojestvo reshenii";
    else
    {
    int D;
    D=b^2-4*a*c;
    if (D<0) cout<<"net reshenii\n";
    if (D==0) cout<<"x="<<-b/2*a;
    if (D>0)
    {
        int x1;
        int x2;
        x1=(-b+D^1/2)/2*a;
        x2=(-b-D^1/2)/2*a;
        cout<<"x1="<<x1<<endl;
        cout<<"x2="<<x2<<endl;
    }
    
    }
    return 0;
}
Kerry_Jr
Модератор
 Аватар для Kerry_Jr
1857 / 1653 / 577
Регистрация: 14.05.2014
Сообщений: 4,746
Записей в блоге: 1
Завершенные тесты: 5
05.09.2014, 22:14     Ошибка в count<<x; #17
Bokinger, " ^ " - xor - исключающее ИЛИ. Вам нужна sqrt.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 1
05.09.2014, 22:28     Ошибка в count<<x; #18
И, кстати, не забывайте, что 1/2 равно нулю, т.к. делится целое на целое.
И a попала в числитель.
C++
1
x=(-b+sqrt(D))/(2.0*a);
Bokinger
0 / 0 / 0
Регистрация: 05.09.2014
Сообщений: 14
05.09.2014, 22:43  [ТС]     Ошибка в count<<x; #19
zss, опа... а вот за целые отдельное спасибо!

Добавлено через 2 минуты
zss, а почему 2.0?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2014, 23:06     Ошибка в count<<x;
Еще ссылки по теме:

C++ Warning: left shift count >= width of type [enabled by default]
Неоднозначность переменной count C++
C++ Создайте класс Тест, содержащий две закрытые переменные типа int с именами count и max

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

Или воспользуйтесь поиском по форуму:
KOPOJI
Модератор
 Аватар для KOPOJI
16242 / 6453 / 390
Регистрация: 12.06.2012
Сообщений: 19,337
05.09.2014, 23:06     Ошибка в count<<x; #20
Bokinger, чтобы сработало неявное преобразование типов и в знаменателе получилось дробное число, а не целое
Yandex
Объявления
05.09.2014, 23:06     Ошибка в count<<x;
Ответ Создать тему
Опции темы

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