Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > C/C++ > C/C++
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.01.2013, 22:10
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию Квадратное уравнение

Я написал программу для решения квадратного уравнения c коэффициентами A, B и C. Однако призначениях A = 1, B = 0 и C = 0 программа выдаёт результат -0.000000. Программа выглядит вот так:
Код:
#include <stdio.h>
#include <math.h>
#include <conio.h>
int main() {
	double x1, x2, x, A, B, C;
	scanf("%lf %lf %lf", &A, &B, &C);
	if(A == 0 && B == 0 && C == 0)
		printf("INFINITY");
	else
		if(A==0 && B == 0 && C!=0)
			printf("NO SOLUTIONS");
		else
if(A!=0 && B == 0 && C == 0)
			{
				x = -B/(2*A);
				printf("%lf\n", x);
			}
				else
					if(A!=0 && B!=0 && C == 0)
					{
				x1=(-B -sqrt(B*B -4*A*C))/(2*A);
	x2=(-B +sqrt(B*B -4*A*C))/(2*A);	
						printf("%lf ", x1);
	printf("%lf\n", x2);
					}
					else
		if(B*B -4*A*C == 0)
		{
			x=-B/(2*A);
			printf("%lf\n", x);
		}
		else
					{
				x1=(-B -sqrt(B*B -4*A*C))/(2*A);
	x2=(-B +sqrt(B*B -4*A*C))/(2*A);	
	printf("%lf ", x1);
	printf("%lf\n", x2);
		}
		getch();
	return 0;
}
Ответить с цитированием
  #2  
Старый 03.01.2013, 04:48
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,052
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну и в чем проблема?
Вполне нормальное поведение для программы. Ответ же очевиден - 0. А то, что он с минусом, да еще с нулями после точки, то а чего вы хотели от вещественных числел при выводе с таким форматом.

ЗЫ. Вообще, в данной ветке можно просто писать в вывод 0 и ничего не считать.
Ответить с цитированием
  #3  
Старый 03.01.2013, 14:29
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ну и в чем проблема?
Вполне нормальное поведение для программы. Ответ же очевиден - 0. А то, что он с минусом, да еще с нулями после точки, то а чего вы хотели от вещественных числел при выводе с таким форматом.

ЗЫ. Вообще, в данной ветке можно просто писать в вывод 0 и ничего не считать.
Я знаю, всё намного сложней. Это одна из дадач, которую мне задают в университете. Исходный код программы загружается на сервер, и уже там проверяется правильность программы. Мне всё равно по поводу минуса, но при загрузке программы на сервер выдаётся сообщение об ошибке. Чтобы всё было правильно, необходимо избавится от минуса. Если сделать так, чтобы отображался ноль, то сервер всё равно будет выдавать сообщение об ошибке. А нули после запятой должны быть.
Ответить с цитированием
  #4  
Старый 05.01.2013, 13:03
diki_xaker diki_xaker вне форума
Прохожий
 
Регистрация: 05.01.2013
Сообщения: 26
Репутация: выкл
По умолчанию

пфф...Это нормально...не переживай))
Ответить с цитированием
  #5  
Старый 05.01.2013, 22:41
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Цитата:
Сообщение от diki_xaker
пфф...Это нормально...не переживай))
При значениях A=-1, B=0 и C =0 получается 0.00000.
Может вы мне посоветуете, как избавиться от минуса?
Ответить с цитированием
  #6  
Старый 06.01.2013, 13:35
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Я нашёл проблему.
Ответить с цитированием
  #7  
Старый 06.01.2013, 14:45
diki_xaker diki_xaker вне форума
Прохожий
 
Регистрация: 05.01.2013
Сообщения: 26
Репутация: выкл
По умолчанию

ах от минуса? тогда дайте пудамать)
Ответить с цитированием
  #8  
Старый 06.01.2013, 19:41
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Цитата:
Сообщение от diki_xaker
ах от минуса? тогда дайте пудамать)
Я уже избавился от минуса, спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:45.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter