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

Реализуйте программу решения квадратного уравнения - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.88
Powersej
 Аватар для Powersej
2 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 70
Записей в блоге: 4
15.06.2012, 12:48     Реализуйте программу решения квадратного уравнения #1
Реализуйте программу решения квадратного уравнения с обязательной проверкой существования действительных корней, а также кратного корня. Функцию вычисления квадратного корня sqrt() найдете в файле включений <math.h>.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
15.06.2012, 13:13     Реализуйте программу решения квадратного уравнения #2
Кроме привычного решения есть поддержка комплексных чисел, всё оч просто и понятно решение квадратного уравнения С++
Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 13:18     Реализуйте программу решения квадратного уравнения #3
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
#include <iostream>
#include <conio.h>
#include<windows.h>
#include<math.h>
using namespace std;
 
 
void main()
 {
     double a,b,c,x1,x2,D;
     cout<<"Vvedite 3 chisla"<<endl;
     cin>>a;
     cin>>b;
     cin>>c;
     D=(b*b)-(4*a*c);
     if(D>0)
     {
     D=sqrt(D);
     x1=(0-b-D)/2*a;
     x2=(0-b+D)/2*a;
     cout<<"Dva kornya "<<x1<<" i "<<x2<<endl;
     }
     if(D==0)
     {
         D=sqrt(D);
         x1=(0-b)/(2*a);
         cout<<"Kratniy koren "<<x1<<" "<<endl;
     }
     if(D<0)
        cout<<"Korney net "<<endl;
 
 
 _getch();
 }
Powersej
 Аватар для Powersej
2 / 2 / 0
Регистрация: 01.06.2012
Сообщений: 70
Записей в блоге: 4
15.06.2012, 13:31  [ТС]     Реализуйте программу решения квадратного уравнения #4
пожалуйста можно к программе ещё комментарии
Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 13:41     Реализуйте программу решения квадратного уравнения #5
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
#include <iostream>
#include <conio.h>
#include<windows.h>
#include<math.h>
using namespace std;
 
 
void main()
 {
     double a,b,c,x1,x2,D;//объявление переменных
     cout<<"Vvedite 3 chisla"<<endl;//просим ввести три числа
     cin>>a;
     cin>>b;
     cin>>c;
     D=(b*b)-(4*a*c);//находим дискриминант по формуле 
     if(D>0)//если дискриминант больше ноля то корней два . находим их по формуле и показываем
     {
     D=sqrt(D);
     x1=(0-b-D)/(2*a);
     x2=(0-b+D)/(2*a);
     cout<<"Dva kornya "<<x1<<" i "<<x2<<endl;
     }
     if(D==0)//если дискриминант равен нолю то корни кратные . находим их по формуле и показываем
     {
         
         x1=(0-b)/(2*a);
         cout<<"Kratniy koren "<<x1<<" "<<endl;
     }
     if(D<0)// если дискриминант меньше ноля то корней у уравнения нет
        cout<<"Korney net "<<endl;
 
 
 _getch();
 }
-=ЮрА=-
15.06.2012, 13:44
  #6

Не по теме:

Цитата Сообщение от Alt_Shift Посмотреть сообщение
// если дискриминант меньше ноля то корней у уравнения нет
- пройди по ссылке
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
решение квадратного уравнения С++
и почитай за комплексные корни. Решение есть всегда, другое дело что в действительных числах оно не всегда существует

Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 13:50     Реализуйте программу решения квадратного уравнения #7
там я первый раз ошибся. 2*а нужно в скобки взять при D>0

Добавлено через 3 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- пройди по ссылке
и почитай за комплексные корни. Решение есть всегда, другое дело что в действительных числах оно не всегда существует

лучше вместо комплексных корней почитать условие задачи. там ясно сказао найти кратные или вещественные корни. Об алгебраическом, геометрическом решении, разлаживании корней на множители , поиска комплексных корней, теоремы виета и прочей лабуде нет ни слова
-=ЮрА=-
Заблокирован
Автор FAQ
15.06.2012, 14:20     Реализуйте программу решения квадратного уравнения #8
Цитата Сообщение от Alt_Shift Посмотреть сообщение
Об алгебраическом, геометрическом решении, разлаживании корней на множители , поиска комплексных корней, теоремы виета и прочей лабуде нет ни слова
- блин расширить кругозор хотел, но раз уж ты всё знааешь, то лучше запиши все заголовки в новом стиле, а не смесью нового и старого стилей как подано в твоем коде
Цитата Сообщение от Alt_Shift Посмотреть сообщение
#include <iostream>
#include <conio.h>
#include<windows.h>
#include<math.h>
, чтобый твой код соответсвовал стандарту
conio.h и
Цитата Сообщение от Alt_Shift Посмотреть сообщение
_getch()
вне стандарта, так что используй system("pause"). И да, windows.h вообще ни к селу ни к городу в данном алгоритме

Добавлено через 1 минуту

Не по теме:

А так да, твой код отличная вариация не тему того, как можно длинно записать решение для данной задачи

Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 14:25     Реализуйте программу решения квадратного уравнения #9
мы с вами вроде бы как на "ты" переходили. А по поводу стандартов то тут первое- я недавно учу си. второе- шапка к данному коду особо не менялась. это из проекта для решения вот таких вот задач на форуме и менять ее каждый раз по новому не считаю нужным.
-=ЮрА=-
Заблокирован
Автор FAQ
15.06.2012, 14:31     Реализуйте программу решения квадратного уравнения #10
Цитата Сообщение от Alt_Shift Посмотреть сообщение
мы с вами вроде бы как на "ты" переходили. А по поводу стандартов то тут первое- я недавно учу си. второе- шапка к данному коду особо не менялась. это из проекта для решения вот таких вот задач на форуме и менять ее каждый раз по новому не считаю нужным.
Во первых, я старше тебя лет так думаю на 10-12, так что на вы со студентом мне уже по статусу негоже общаться, но если уж это так вас заадевает то хорошо уважаемый господин Alt_Shift, в коде котрый ваше высочество не хочет менять идёт как минимум 2 лишних проверки
Цитата Сообщение от Alt_Shift Посмотреть сообщение
}
* * *if(D==0)//если дискриминант равен нолю то корни кратные . находим их по формуле и показываем
* * *{
Цитата Сообщение от Alt_Shift Посмотреть сообщение
}
* * *if(D<0
Их можно исключить просто дописав else вверху условных операторов
Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 14:33     Реализуйте программу решения квадратного уравнения #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Во первых, я старше тебя лет так думаю на 10-12
вам 40-42? Даже в этом случае невежливо тыкать незнакомым людям. жаль что дожив до таких почтенных лет вы этого не поняли. за советы спасибо. учту
-=ЮрА=-
15.06.2012, 14:41
  #12

Не по теме:

Цитата Сообщение от Alt_Shift Посмотреть сообщение
вам 40-42? Даже в этом случае невежливо тыкать незнакомым людям. жаль что дожив до таких почтенных лет вы этого не поняли. за советы спасибо. учту
- нет мне 28. Хорошо с сего дня мы будем исключительно на Вы

ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
15.06.2012, 14:42     Реализуйте программу решения квадратного уравнения #13
вне стандарта, так что используй system("pause").
А то есть system("pause") у нас с какого-то фига в стандарте? system не спорю, а вот комманды pause в Linux к примеру нет.

C++
1
2
3
4
5
6
#include <cstdlib>
 
int main()
{
   system("pause");
}
Bash
1
2
forever@pterois:~/My_pro1/cpp_pro$ ./new 
sh: 1: pause: not found
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,411
15.06.2012, 14:46     Реализуйте программу решения квадратного уравнения #14
Alt_Shift, неплохо для новичка. И помог и сам практику набил)
Но, вот как правильно заметил Юра, ваш код не соответствует стандарту. Принято писать int main. _getch(); впринципе не критичен, хотя обычно пишут getch(). Ну а от написания system("pause") большей кроссплатформенности ваш код не заработает.
Ну и из помарок - перед if(D==0) приписать else и вместо последней проверки также написать else. Это чтобы не было лишних. Заголовки хотелось бы видеть все в одном стиле, math.h - C-шный.
Некоторым транслит не нравится. Можно сделать так:
В хедерах
C++
1
#include <clocale>
и в меине в начале:
C++
1
setlocale(LC_ALL, "russian");
Есть конечно и еще способы, но это самый легкий. Всё это конечно придирки, исключая первый пункт (int main).
-=ЮрА=-
Заблокирован
Автор FAQ
15.06.2012, 14:47     Реализуйте программу решения квадратного уравнения #15
Цитата Сообщение от ForEveR Посмотреть сообщение
а вот комманды pause в Linux к примеру нет.
-

ForEveR, а у тебя есть список стандартных команд system ?Не было мысли, что разработчики твоего IDE просто не позаботились об поддержке pause
Надеюсь на скриншоте хорошо видно красное подчёркивание
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
 
int main()
{
    system("help");
    system("pause");
    return 0;
}
Миниатюры
Реализуйте программу решения квадратного уравнения  
-=ЮрА=-
15.06.2012, 14:49
  #16

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
if(D==0)
- MrGluck, нет нельзя так дабл проверять, ноль у дабла идёт как где то как 0,0000000000(1), там нужно проверять либо домножением либо с помощью modf

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,411
15.06.2012, 14:53     Реализуйте программу решения квадратного уравнения #17
-=ЮрА=-, да будет тебе известно, что pause существует только на виндоусовском терминале. То что там вместо Press any key to continue... будет просто пустота имхо даже лучше, подобных надписей хватает и при переустановке системы. И как IDE может добавить системные команды?

Добавлено через 2 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение

Не по теме:

- MrGluck, нет нельзя так дабл проверять, ноль у дабла идёт как где то как 0,0000000000(1), там нужно проверять либо домножением либо с помощью modf

Внезапно
Alt_Shift
 Аватар для Alt_Shift
50 / 50 / 2
Регистрация: 28.05.2012
Сообщений: 161
15.06.2012, 14:54     Реализуйте программу решения квадратного уравнения #18
Цитата Сообщение от MrGluck Посмотреть сообщение
Есть конечно и еще способы, но это самый легкий. Всё это конечно придирки, исключая первый пункт (int main).
я предпочитаю
#include <windows.h>
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

При таком расскладе можно не кракозябрами видеть символы которые, допустим, передал в массив. По поводу инт мейна...ну фиг его, меня учили именно войд мейн писать. Привычка.
-=ЮрА=-
15.06.2012, 14:55
  #19

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
И как IDE может добавить системные команды?
Тем что линковщик будет знать что system с начинкой "pause" означает стоп-точку. Кому то просто біло влом написать єтот парсинг при написании не знаю назовём UNIX компилятора и всё нынешний мир уверен system("pause" ) не стандартна

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2012, 14:59     Реализуйте программу решения квадратного уравнения
Еще ссылки по теме:

C++ Написать программу решения квадратного уравнения. DEV C++
C++ Найти ошибку в программе решения квадратного уравнения
Разработать иерархию классов для решения квадратного уравнения C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
15.06.2012, 14:59     Реализуйте программу решения квадратного уравнения #20
-=ЮрА=-, system - вызов функций ОС.
C++
1
2
3
4
5
6
#include <cstdlib>
 
int main()
{
   system("ls -lh");
}
Bash
1
2
3
4
5
6
7
8
9
10
forever@pterois:~/My_pro1/cpp_pro$ ./new 
итого 100K
-rw-r--r-- 1 forever user  62K апр.  24 16:07 boolinq-all.h
drwxr-xr-x 5 forever user 4,0K дек.  19 10:08 izvolov-meta
drwxr-xr-x 2 forever user 4,0K февр.  2 14:51 localtime
-rwxr-xr-x 1 forever user 7,0K июня  15 14:59 new
-rw-r--r-- 1 forever user   56 июня  15 14:59 new.cpp
-rw-r--r-- 1 forever user 1,4K мая   22 13:19 options.config
drwxr-xr-x 4 forever user 4,0K апр.   4 16:57 qt
-rw-r--r-- 1 forever user 5,6K мая   23 16:14 some.py
Интересно... Сумеет-ли Юра запустить это на винде?
Yandex
Объявления
15.06.2012, 14:59     Реализуйте программу решения квадратного уравнения
Ответ Создать тему
Опции темы

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