Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2013, 17:21   #11
Alex009
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Че Гевара Посмотреть сообщение
Корни вычисляются так:
Код:
#include <math.h>//в этой библиотеке содержатся функции математических операций
A1 = (-b - sqrt(D)) / (2 * a);//Функция sqrt вычисляет квадратный корень
A2 = (-b + sqrt(D)) / (2 * a);//из переданного ей аргумента(в данном случае из дискрименанта)
Но вам нужно ещё учесть ситуацию, если ползователь введёт a равное нулю, а как мы помним из курса алгебры средней школы такого быть не должно. Так же, если дискрименант отрицателен следовало бы вывести сообщение, что корней нет, а если он равен нулю, вычислить один корень по формуле Xобщее = -b / (2 * a)
Спасибо за совет но он чет не правильно вычесляет должны быть корни -1.2/3 и 1 а получается 1 и 2009247405 =(
Alex009 вне форума Ответить с цитированием
Старый 07.03.2013, 17:43   #12
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

Ах да, забыл предупредить, что для адекватного вычисления переменные A1, A2, D должны быть типа float
Тоесть вот рабочий код:
Код:
#include <math.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

int main()
{
 int a, b, c;
 float D, A1, A2;
 
 cout << "Vedite a; b; c, po o4eredno nagimaia ENTER: ";
 cin >> a;
 cin >> b;
 cin >> c;
 D = b*b-4*a*c;
 A1 = (-b - sqrt(D)) / (2 * a);
 A2 = (-b + sqrt(D)) / (2 * a);
 cout << "Diskriminant raven: " << D;
 cout << "Koren` 1 raven: " << A1;
 cout << "Koren` 2 raven: " << A2;
 system ("pause");
 return 0;
}
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.

Последний раз редактировалось Че Гевара; 07.03.2013 в 18:00.
Че Гевара вне форума Ответить с цитированием
Старый 07.03.2013, 23:10   #13
Alex009
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 32
По умолчанию

Цитата:
Сообщение от Че Гевара Посмотреть сообщение
Ах да, забыл предупредить, что для адекватного вычисления переменные A1, A2, D должны быть типа float
Тоесть вот рабочий код:
Код:
#include <math.h>
#include <stdlib.h>
#include <iostream>
using namespace std;

int main()
{
 int a, b, c;
 float D, A1, A2;
 
 cout << "Vedite a; b; c, po o4eredno nagimaia ENTER: ";
 cin >> a;
 cin >> b;
 cin >> c;
 D = b*b-4*a*c;
 A1 = (-b - sqrt(D)) / (2 * a);
 A2 = (-b + sqrt(D)) / (2 * a);
 cout << "Diskriminant raven: " << D;
 cout << "Koren` 1 raven: " << A1;
 cout << "Koren` 2 raven: " << A2;
 system ("pause");
 return 0;
}
Спасибо все получилось правильно только пока я не понимаю что означает #include <stdlib.h> и int a, b, c;
float D, A1, A2; но скоре пойму...
Alex009 вне форума Ответить с цитированием
Старый 07.03.2013, 23:27   #14
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

Строчка
Код:
#include <stdlib.h>
подключает заголовочный файл, в котором содержится описание функции system ();
В строке
Код:
 int a, b, c;
объявляются переменные a, b и c, имеющие тип int (целые переменные – тип int (от английского integer – целый), занимают 4 байта в памя-
ти; ).
В строке
Код:
 float D, A1, A2;
объявляются переменные D, A1 и A2, имеющие тип float(вещественные переменные, которые могут иметь дробную часть (тип float – от анг-
лийского floating point – плавающая точка) , занимают 4 байта в памяти).
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что не правильно? kemper1990 Помощь студентам 3 12.10.2010 08:29
Что не правильно? misher Общие вопросы Delphi 8 28.05.2010 17:30
что не правильно? danlex Общие вопросы C/C++ 3 26.05.2010 21:32
Что не правильно Ser Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 16.12.2009 08:12