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

Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Cas01
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 30
18.10.2011, 00:22     Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень. #1
Нужна срочная помощь в написании вроде бы несложной задачи на массив, помогите пожалуйста, вот условие задачки:
Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень.

ax^2 -это я обозначил ax квадрат...
ПОМОГИТЕ ПЛЗ!!!
спасибо...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2011, 00:22     Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень.
Посмотрите здесь:

Необходимо вычислить N значений функции на отрезке C++
C++ Определить, сколько в массиве Z имеется положительных чисел, окруженных слева и справа по крайней мере одним отрицательным числом
C++ Одномерные массивы. Вычислить m значений функции f(x) на отрезке [a, b]
C++ Оброботка одномерных массивов (Вычислить m значений функции f(x) на отрезке [a, b], найти элементы, среднее значение)
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функц C++
Вычислить m значений функции f(x) на отрезке [a, b] C++
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функц C++
C++ Вычислить 15 значений функции Y на отрезке [x1, x2]

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Revol'veR
 Аватар для Revol'veR
23 / 23 / 2
Регистрация: 05.11.2010
Сообщений: 134
18.10.2011, 21:32     Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень. #2
Квадратное уравнение:
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();
}
А далее доработайте) Просто путаюсь в алгоритмах, не знаю куда вставить масив
Cas01
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 30
23.10.2011, 22:24  [ТС]     Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень. #3
спасибо, но я не могу понять как работает эта программа, она начинает вычислять только если вводишь отрицательные значения, и я так понимаю что она должна считать 18 значений ф-ии, поясните пожалуйста, может я что то не понимаю...
Yandex
Объявления
23.10.2011, 22:24     Вычислить 18 значений функции ax^2+bx+c на отрезке [e,f], сохранить их в массиве Y и определить, имеет ли уравнение ax^2+bx+c=0 на отрезке [e,f] по крайней мере хотя бы один корень.
Ответ Создать тему
Опции темы

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