Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2012, 22:26   #1
bad9
Пользователь
 
Регистрация: 24.05.2012
Сообщений: 13
По умолчанию Укажите ошибку

Даны натуральные числа n, q1, …, qn. Найти те члены qi последовательности q1,
…, qn, которые обладают тем свойством, что корни уравнения x(в квадрате)+3qi−5 действительны и положительны.

Код:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
int mas[10];
double D, x1, x2;

for (int i=0;i<10;i++)
{
cout<<"Vvedite "<<i+1<<"element: ";
cin>>mas[i];
}
cout<<"Vibrannie znacheniya: ";
for (int i=0;i<11;i++)
{
D = 9*mas[i]*mas[i] + 20; //' Вычисляем дискриминант. Он всегда положителен, поэтому корни всегда действительные.
x1 = (-3*mas[i] + sqrt(D))/2; //' Вычисляем х1 и х2
x2 = (-3*mas[i] - sqrt(D))/2;
if ((x1 > 0) && (x2 > 0))
cout<<mas[i]<<" "; //' Выводим mas[i], если оба корня положительны
}

return 0;
}

Последний раз редактировалось ACE Valery; 11.06.2012 в 01:49.
bad9 вне форума Ответить с цитированием
Старый 10.06.2012, 23:30   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Начнем с того, что x^2=-3qi+5 имеет:
комплексные корни
действительные корни, причем один всегда меньше нуля, а другой больше, т. е. программа должна ничего не выдавать.

Если же все-таки уравнение имеет вид x^2+3*qi*x−5, то ...<продолжение через пару минут>

Поскольку сам не смог найти такие q, которые удовлетворяли условиям, то пример для уравнения x^2-3*qi*x+10:
Код:
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int n;
    double D, x1, x2, q;
//x^2-3*qi*x+10

    cin>>n;
    for (int i=0; i<n; i++)
    {
        cin>>q;
        D = 9*q*q-40;
        if (D>=0)
        {
            x1 = (3*q + sqrt(D))/2;
            x2 = (3*q - sqrt(D))/2;
            if ((x1 > 0) && (x2 > 0))
                cout<<q<<endl;
        }
    }
    return 0;
}
Входные данные:
Цитата:
3 1 2 4
Выходные:
Цитата:
4
Это ваша программа, только немного переделанная. N может быть большим, так что использование массива нецелесообразно.


ПС Ответьте, формула верная x^2+3qi-5 ?
Просто если формула верна, то в программе нет ВООБЩЕ смысла, т.к. ответ очевиден и не зависит от входных данных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 11.06.2012 в 01:45.
BDA на форуме Ответить с цитированием
Старый 10.06.2012, 23:37   #3
bad9
Пользователь
 
Регистрация: 24.05.2012
Сообщений: 13
По умолчанию

[QUOTE=BDA;1059698]Начнем с того, что x^2=-3qi+5 имеет:
комплексные корни
действительные корни, причем один всегда меньше нуля, а другой больше, т. е. программа должна ничего не выдавать.


у меня как раз таки ничего не выдает,пишу элементы,она не выводит ничего
bad9 вне форума Ответить с цитированием
Старый 11.06.2012, 03:23   #4
bad9
Пользователь
 
Регистрация: 24.05.2012
Сообщений: 13
По умолчанию

формула верна)
bad9 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
укажите на ошибку маГГ85 JavaScript, Ajax 2 23.02.2012 13:15
Укажите на ошибку (Delphi) BataniQ Помощь студентам 1 08.02.2012 07:18
Укажите на ошибку. Wh15per Общие вопросы C/C++ 2 27.12.2011 20:02
Укажите ошибку kerbeross PHP 7 25.08.2009 21:47
Укажите ошибку в коде. DeamoniC Помощь студентам 2 09.06.2009 15:32