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

Для нахождения корней квадратного уравнения использовать функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузка функций http://www.cyberforum.ru/cpp-beginners/thread110681.html
Здравствуйте!!! я не однократно просил помочь на этом форуме...именно с перегрузкой стека!!! Потому что все мои попытки самостоятельно справиться с решение этой задичи потерпели крах...=) Помогите плиз... НЕОБХОДИМО перегрузить ТРИ функции стека: добавление элемента, удаление элемента, проверка на наличие элементов. Вот мой класс СТЕК с 3-мя функциями... #include <iostream> using...
C++ составить блок схему и программу для решения задачи составить блок схему и программу для решения задачи, включающей ввод данных, организацию цикла, и выбор по заданному условию....(блок схему не надО)) Расчетные выражения: 1)y=8x^2+17x 2)y=40x+sin(17x) Условия выбора выражения: 1)X>1 2)X<=1 Интервал измерения аргумента X: X=0.2...1.6 Шаг по X: http://www.cyberforum.ru/cpp-beginners/thread110663.html
составить блок схему и программу для решения зада4и включающей ввод данных, организацию цикла, и выбор по заданному условию. C++
составить блок схему и программу для решения задачи, включающей ввод данных, организацию цикла, и выбор по заданному условию....(блок схему не надО:))) Расчетные выражения: 1)y=8x^2+17x 2)y=40x+sin(17x) Условия выбора выражения: 1)X>1 2)X<=1 Интервал измерения аргумента X: X=0.2...1.6 Шаг по X:
посчитать число точек, находящиеся внутри круга C++
Всем привет :) Есть такое задание: посчитать число точек, находящиеся внутри круга радиусом r с центром в точке с координатами (1,1); координаты заданы массивами X(10), Y(10). Все-бы то ничего, и задание понятно, но работа с классами... Что это я прочитал, толком ничего так и не понял, и как их правильно применять тоже. Решил пока просто сделать прогу без классов, но и тут застрял.... ...
C++ Обработчик форм http://www.cyberforum.ru/cpp-beginners/thread110644.html
Я видел, что обработчик html формы можно зделать на с++. Но какой там код? Зарание всем благодарен. Добавлено через 2 часа 56 минут Ну хоть хто-то, ответте
C++ удаление continue У Дейтлов есть задача: Опишите, как в общем случае вы могли бы удалить из цикла оператор continue и заменить его каким-то структурированным эквивалентом. Используя этот прием, удалите оператор continue из программы: // Рис. 2.7: fig02_07.cpp // Программа вычисления среднего значения. Использует повторение, управляемое счетчиком. #include<iostream.h> #include<windows.h> подробнее

Показать сообщение отдельно
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
31.03.2010, 08:15     Для нахождения корней квадратного уравнения использовать функцию
У меня была вот такая задачка:
Даны вещественные числа а, b, с, d, e, f. Переменной s присвоить значение 1, если оба уравнения ах2 + bх + с = 0 и dx2 + ex + f = 0 имеют вещественные корни и при этом все корни первого уравнения лежат между корнями второго уравнения. В противном случае переменной s присвоить значение 0. (Для нахождения корней квадратного уравнения использовать функцию.)

Это почти такая же как и у тебя. Вот её решение:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
 
float Discr(float a, float b, float c)
{
        return (float)(b*b-4*a*c);
}
 
float Quadro(float a, float b, float D, int flag)
{
        if(flag==0) return (float)((-b+sqrt(D))/(2*a));
        if(flag==1) return (float)((-b-sqrt(D))/(2*a));
        return 0;
}
 
void main()
{
        float a,b,c,d,e,f,D,D2,x1,x2,y1,y2;
        int s=0,f1=0,f2=0; //f1,f2 - признаки вещественности корней
        do
        {
                printf("Vvedite a(ne ravnoe 0):");
                scanf("%f",&a);
                if(a==0) printf("\nError! Retry!\n");
        }
        while(a==0);
        printf("\nVvedite b:");
        scanf("%f",&b);
        printf("\nVvedite c:");
        scanf("%f",&c);
        do
        {
                printf("\nVvedite d(ne ravnoe 0):");
                scanf("%f",&d);
                if(d==0) printf("\nError! Retry!\n");
        }
        while(a==0);
        printf("\nVvedite e:");
        scanf("%f",&e);
        printf("\nVvedite f:");
        scanf("%f",&f);
        D=Discr(a,b,c);
        if(D<0)
        {
                printf("D pervogo uravneniya <0; Net reshenii!");
                exit(1);
                getch();
        }
        if(D==0)
        {
                x1=x2=Quadro(a,b,D,0);
                if((int)x1!=x1) f1=1; //если они вещественные, то ставим флажок, т.к. x1 и х2 равны, то проверять можно только один
        }
        if(D>0)
        {
                x1=Quadro(a,b,D,0);
                x2=Quadro(a,b,D,1);
                if(((int)x1!=x1)&&((int)x2!=x2)) f1=1; // тут проверять надо оба значения
        }
        D2=Discr(d,e,f);
        if(D2<0)
        {
                printf("D vtorogo uravneniya <0; Net reshenii!");
                getch();
                exit(1);
        }
        if(D2==0)
        {
                y1=y2=Quadro(d,e,D2,0);
                printf("\nNe podhodit po usloviyu"); // не подходит, потому что между ними должны лежать другие корни
                exit(1);
                getch();
        }
        if(D>0)
        {
                y1=Quadro(d,e,D2,0);
                y2=Quadro(d,e,D2,1);
                if(((int)y1!=y1)&&((int)y2!=y2)) f2=1; // анаолгично, но теперь ставим второй флажок
        }
        if(y1>y2)
        {
                float temp=y2;
                y2=y1;
                y1=temp; // теперь в у1 всегда меньший корень
        }
        printf("\nKorni pervogo uravneniya:\tx1=%f\tx2=%f\nKorni vtorogo uravneniya:\tx1=%f\tx2=%f\n",x1,x2,y1,y2);
        if((x1>y1)&&(x1<y2)&&(x2>y1)&&(x2<y2)&&(f1)&&(f2)) //все удовлетворяет условию
        s=1;
        else
        {
                printf("\nUsloviya ne vypolneny!");
                if((x1<y1)||(x1>y2)||(x2<y1)||(x2>y2)) printf("\nKorni pervogo uravneniya ne lezhat mezhdu kornyami vtorogo uravneniya");
                if((!f1)||(!f2)) printf("\nKorni ne veshsestvennye");
        }
        printf("\ns=%d",s);
        getch();
}
Немного измени и будет твоя)
 
Текущее время: 16:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru