Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема в С++, Вопрос от новичка 
:(
    Опции темы
TheWanderer
Дата 29.9.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.9.2008

Репутация: нет
Всего: нет



Начал на днях изучать С++ и уже столкнулся с одной ошибкой:
Я использую Microsoft Visual Studio 2008.
Вот написал небольшую программку:
#include "iostream"
#include "math.h"

using namespace std;

void main()
{
    setlocale(LC_ALL,"Russian");
    int a,b,c,d;
    cout << "Введите данные:";
    cout << "\na = "; cin >> a;
    cout << "b = "; cin >> b;
    cout << "c = "; cin >> c;
    d=(b*2)-4*a*c;
    printf ("Ответ D = %i\n",d);
    system ("PAUSE");
}
После того как этот код запустишь и введёшь a,b,c то почему то ответ всегда отображается с минусом. Почему ответ отображается с минусом? И если это какая то ошибка как её исправить? 
PM MAIL   Вверх
volvo877
Дата 29.9.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: нет
Всего: 116



Если ты имеешь в виду дискриминант, то там b*b, а не b*2, возможно поэтому у тебя получается отрицательный ответ там, где ты ожидаешь положительный? Какие данные вводишь?
PM MAIL   Вверх
TheWanderer
Дата 29.9.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.9.2008

Репутация: нет
Всего: нет



Изменил b*2 на b*b.
Ввожу, допустим, a=5, b=5, c=5
Ответ если я не ошибаюсь должен получиться 75, а программа выводит -75.

Это сообщение отредактировал(а) TheWanderer - 29.9.2008, 16:44
PM MAIL   Вверх
DonPager
Дата 29.9.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Колдырь
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 28.3.2003
Где: Воронеж

Репутация: нет
Всего: 2



Цитата(TheWanderer @  29.9.2008,  08:43 Найти цитируемый пост)
Изменил b*2 на b*b.
Ввожу, допустим, a=5, b=5, c=5
Ответ если я не ошибаюсь должен получиться 75, а программа выводит -75.

почему это smile
смотри:
5*5 - 4*5*5 = сколько (?) - правильно -75 smile



--------------------
кодер + лодырь = колдырь
PM MAIL ICQ Skype GTalk   Вверх
TheWanderer
Дата 29.9.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.9.2008

Репутация: нет
Всего: нет



вопрос на свой ответ нашёл smile
тема закрыта.
PM MAIL   Вверх
Walker
Дата 29.9.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 23.10.2006

Репутация: нет
Всего: 16



Подставляем:
Код

d = 5 * 5 - 4 * 5 * 5 = 25 - 100 = -75

Откуда ждём чуда? smile 
Подумайте, Пожалуйста, также над тем, зачем Вы подключаете math.h. Может тогда Вы сможете получить нужный результат. smile 

 smile P.S. Пользуйтесь, впредь, Пожалуйста кнопкой Код для обрамления листинга.


--------------------
"От вчерашних побед остаётся усталость, если завтрашний день не сулит ничего..."
PM MAIL   Вверх
NebelDT
  Дата 30.9.2008, 08:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.9.2008
Где: RU

Репутация: -6
Всего: -10



 smile 
Попробуй так!))
Код

#include <stdio.h>
#include <math.h >
main()
{
float a=0,b=0,c=0,X1=0,X2=0,X=0,D=0;
scanf("%f%f%f",&a,&b,&c);
D=b*b-4*a*c;
if(D>0){
X1=(-b+sqrt(D))/2*a;
X2=(-b-sqrt(D))/2*a;
if(X2<X1){printf("%f %f",X2,X1);return (0);}
printf("%f %f",X1,X2);          return (0);
}
if(D==0){X1=-b/2*a;printf("%f",X1);return (0);}
printf("ERROR");
return (0);
}

PM MAIL WWW YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0857 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.