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

Обсуждение своих программ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ system("cls"); как по другому? http://www.cyberforum.ru/cpp-beginners/thread51900.html
имеется код #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "windows.h" #include <iostream> using namespace std;
C++ Задача:Удалить строчки в КиР наткнулся на задачу: напишите программу удаления из "С"-пораммы всех комментариев. Не забывайте аккуратно обращаться с "закавыченнными" строками константами как понял - надо редактировать срр... http://www.cyberforum.ru/cpp-beginners/thread51895.html
Как работать с пользовательскими полями в документах OpenOffice.org Writer, используя С++? C++
Очень нужна помощь в следующем вопросе: как работать с пользовательскими полями в документах OpenOffice.org Writer, используя С++? Предыстория: есть документы, у них есть реквизиты (скажем, дата...
Помогите решить интересную задачу C++
Имеем файл на харде (Primer.txt) Нужно его найти и заменить русские: у, о, е, х, а, р, с, на английские: y, o, e, x,...
C++ cannot convert int(*)() to int . . http://www.cyberforum.ru/cpp-beginners/thread51881.html
Доброго времени суток! Пытался создать массив из указателей на функции. typedef int (*rules_f)(); vector<rules_f>and_f(numb_of_rules); И при попытке обращения к нему: int buf = and_f;
C++ Число на которое приходится день учителя в году n день учителя ежегодно отмечается в первое воскресенье октября. дано натуральное n означающее номер года. определить число на которое приходится день учителя в году n. язык С++ подробнее

Показать сообщение отдельно
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,242
Завершенные тесты: 1
30.09.2009, 18:38  [ТС]
Прога которая считает квадратные уравнения.Вроде работает,но на 80%
Дело в том что я поставил задачу ему,онрешение все время округляет,вот задача с решением
x2 +3 x + 1= 0
Дискриминант: D = b2 - 4a*c = 32- 4*1*1 = 5
Если D>0 то уравнение имеет 2 вещественных корня:
x1 = (-b+√ D) = (-3+√ 5) =-0.38196601125
2a 2*1
x2 = (-b-√ D) = (-3-√ 5) =-2.61803398875
2a 2*1
это когда b не делится на 2, прога выдает -1 и -2

теперь пример когда б делится на 2

2 x2 +3 x + 1= 0
Дискриминант: D = b2 - 4a*c = 32- 4*2*1 = 1
Если D>0 то уравнение имеет 2 вещественных корня:
x1 = (-b+√ D) = (-3+√ 1) =-0.5
2a 2*2
x2 = (-b-√ D) = (-3-√ 1) =-1
2a 2*2
выводит -0 и -1

в чем проблема?мне кажется логическая ошибка какая то
Код
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
#include <locale.h>
#include <string.h>
#include "windows.h"
#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
float x1=0;
int a=0;
int b=0;
int c=0;
int d=0;
float x2=0;
cout<<"add а:";
cin>>a;
cout<<"\nAdd b:";
cin>>b;
cout<<"\nAdd c:";
cin>>c;
cout<<a<<"x2+"<<b<<"x+"<<c<<"=0";
if(b%2!=0){ 
    d=b*b-4*a*c;
    if(d<0)cout<<"D<0";
    else b=b-b-b;
x1=(b+d/d)/(2*a);
x2=(b-d/d)/(2*a);
}
else if(b%2==0){
    d=(d*d)/1;
d=((b*b)/2)-a*c;
if(d<0)cout<<"\nD<0";
else b=((b-b-b)/2);
x1=b+d/a;
x2=b-d/a;
}
printf("\n\nx1=%f, x2=%f", x1, x2);
Sleep(1000000); 
        return 0;
}


Добавлено через 1 минуту
решил сначала заменять все int на float, но потом вспомнил что операция % с float считается как ошибка
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru