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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ramp8
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 3
#1

Даны натуральные числа N, A1, …, AN. Найти те члены Ai , которые обладают тем свойством, что корни уравнения x2 + Aix – 5 действительны и положительны - C++

19.11.2010, 21:01. Просмотров 831. Ответов 6
Метки нет (Все метки)

Даны натуральные числа N, A1, …, AN. Найти те члены Ai , которые обладают тем свойством, что корни уравнения x2 + Aix – 5 действительны и положительны. Помогите решить задачу плз. Решить надо на С++.

Квадратное уравнение, с применением массива и циклом for вроде так.

Добавлено через 1 час 20 минут
задача в принципе не сложная написать то половину могу только не понятные ошибки с массивом выходят.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2010, 21:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Даны натуральные числа N, A1, …, AN. Найти те члены Ai , которые обладают тем свойством, что корни уравнения x2 + Aix – 5 действительны и положительны (C++):

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

Найти те члены qi последовательности q1, …, qn, которые обладают тем свойством, что корни уравнения действительны и положительны - Delphi
Даны натуральные числа n, q1, …, qn. Найти те члены qi последовательности q1, …, qn, которые обладают тем свойством, что корни уравнения...

Найти элементы, которые обладают тем свойством, что корни уравнения - C#
Помогите пожалуйста решить данную задачу!!! У меня вообще ничего не получается... Дан массив Q натуральных чисел, содержащий 20 ...

Найти все простые числа, которые обладают определенным свойством - Turbo Pascal
На интервале (1000 .. 9999) найти все простые числа, каждое из которых обладает тем свойством, что сумма первой и второй цифр записи этого...

Найти двузначные числа, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа - Turbo Pascal
Помогите пожалуйста Плохо знаю Паскаль Найти двузначные числа, обладающее тем свойством, что куб суммы его цифр равен квадрату самого...

Даны натуральные числа m и n. Найти такие натуральные p и q, не имеющие общих делителей, что p/q = m/n - Turbo Pascal
Даны натуральные числа m и n. Найти такие натуральные p и q, не имеющие общих делителей, что p/q = m/n.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.11.2010, 21:46 #2
Пишите, выкладывайте - поможем, исправим.
0
Ramp8
0 / 0 / 0
Регистрация: 19.11.2010
Сообщений: 3
21.11.2010, 23:44  [ТС] #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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <math.h>
const int N=10;
main()
{   
    double D, a=1, c=-5, x1, x2;
    float A[N];
    int i;
  /* Вывод подсказки */ 
  printf("kvadratnoe uravnenie\n");
  printf("x^2 + A[N]x - 5 = 0\n");
  for ( i = 0; i < N; i ++ )
  {
  printf("Vvedite A[%d] : ", i);
  scanf("%f", &A[i]);
  }
  /* Расчёт дискриминанта */
  for ( i = 0; i < N; i ++ )
  {
  D = A[i]*A[i] - 4*a*c;
  printf("D[%d] : %f\n", i, D);
  }
  /* Расчёт корней 
     и их вывод на экран */
  if (D > 0)       // Положительный дискриминант
  {
   for ( i = 0; i < N; i ++)
   {
    x1 = -A[i]+sqrt(D) / (2*a); // sqrt(D) - это 
    x2 = -A[i]-sqrt(D) / (2*a); // квадратный корень из D
                             // (функция из math.h)
    if (x1>0 && x2>0)
    {
        printf("2 kornia[%d]: %f i %f\n", i, x1, x2);
    }
}
   
  }
  else 
  if (D == 0) // Нулевой дискриминант
  { 
    for ( i = 0; i < N; i ++ )
    {
    x1 = -A[i] / (2*a);
    printf("1 k[%d]: %f", i, x1);
    }
  }
  else             // Отрицательный дискриминант
  {
    printf("kornei net");
  }
  
  printf("\n");
  getch();
          
}
помогите исправить ошибки
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
22.11.2010, 02:55 #4
В коде у вас была пара логических и арифметических ошибок - это я поправил.

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
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <math.h>
 
const int N = 10;
 
int main()
{
    double D[N], a = 1, c = -5, x1, x2;
    double A[N];
    int i;
  
    /* Вывод подсказки */ 
    printf("kvadratnoe uravnenie\n");
    printf("x^2 + A[N]x - 5 = 0\n");
    
    for (i = 0; i < N; i++)
    {
        printf("Vvedite A[%d] : ", i);
        scanf("%lf", &A[i]);
    }
  
    /* Расчёт дискриминанта */
    for (i = 0; i < N; i++)
    {
        D[i] = A[i] * A[i] - 4 * a * c;
        printf("D[%d] : %f\n", i, D[i]);
    }
    
    for (i = 0; i < N; i++)
    {
        /* Расчёт корней и их вывод на экран */
        if (D[i] > 0) // Положительный дискриминант
        {
            x1 = (-A[i] + sqrt(D[i])) / (2 * a); // sqrt(D) - это 
            x2 = (-A[i] - sqrt(D[i])) / (2 * a); // квадратный корень из D
                                 // (функция из math.h)
            if (x1 > 0 && x2 > 0)
                printf("2 kornia[%d]: %f i %f\n", i, x1, x2);
        }
        else
        {
            if (D[i] == 0) // Нулевой дискриминант
            {
                x1 = -A[i] / (2 * a);
                printf("1 k[%d]: %f", i, x1);
            }
            else // Отрицательный дискриминант
                printf("kornei net");
        }
    }
 
    printf("\n");
 
    getch();
    return 0;
}
Но проблема в другом - в самом задании. А именно в следующем: дискриминант нашего уравнения D = (-b) * (-b) - 4 * a * c = / поскольку a и c нам известны и равны соответственно 1 и -5, то / = b^2 + 20
В таком случае корни нашего уравнения равны x1 = (-b - sqrt(D)) / (2 * a) и x2 = (-b + sqrt(D)) / (2 * a)
По условию они должны быть положительны. Нетрудно догадаться, что второй из них положителен всегда, т.е. при любом b (ведь sqrt(b^2 + 20) заведомо больше b, а, значит, их разность положительна). Осталось доказать, что второй корень тоже может быть положителен. Для этого достаточно, чтобы числитель его был положителен, т.е. чтобы -b - sqrt(b^2 + 20) > 0. Это иррациональное неравенство, и, чтобы его решить, достаточно решить простую систему неравенств:

http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{cases}  & {b}^{2} + 20 \geq 0, \\  & -b > 0, \\   & {b}^{2} + 20 < {b}^{2} \end{cases}

Казалось бы, всё хорошо. Первое неравенство (после преобразования к виду b^2 >= -20), очевидно, имеет бесконечное множество решений. Второе (b < 0) - говорит само за себя - b должно быть меньше нуля. А вот третье... В обеих частях неравенства имеем право уничтожить b^2. Но тогда получим 20 < 0, что бессмысленно, т.е. решений не имеет. А, следовательно, решений не имеет и вся система, т.е. ни при каком b второй корень исходного уравнения положительным быть не может.

Извиняюсь, если что, неравенства (а, тем более, их системы) последний раз решал года три назад, может, какую важную вещь попутал и решения есть... Но пока так.
1
Trupik
Сообщений: n/a
09.01.2011, 22:15 #5
добрый всем вечер извеняюсь если не по теме, просто у меня тоже такая же задача, правда на паскале, но это не имеет значения. Или я уже заучился или никак не могу отойти от новогодних праздников, но буду очень признателен если сможете мне обяснить в чем суть этого задания, как видно из условия первая часть задачи заключаеться в нахождении корней уравнения, но вот я никак не могу понять что значит "найти те члены которые обладают тем свойством что и корни уравнения...", простите ещё раз за вопрос не потеме
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.01.2011, 22:23 #6
Trupik, нет, из задачи видно, что надо найти те элементы заданного массива, при которых корни уравнения с коэффициентами при первой степени, равными этим элементам, действительны и положительны. Например дан массив [1, -5, 2, -7, 3, -1, 9]. Надо подставлять последовательно эти элементы в уравнения, чтобы получать x^2 + x - 5, x^2 - 5x + 5, x^2 + 2x + 5 и т.д., находить корни этого уравнения и смотреть, положительны ли они. Только вот в своём посте номер 4 я показал, что задание бессмысленно, и пока моё доказательство никто не опроверг)))
0
Persk
Модератор
Эксперт Windows
7361 / 3199 / 198
Регистрация: 25.10.2010
Сообщений: 12,824
11.01.2011, 23:46 #7
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
//Программа решения квадратного уравнения
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main()
{
float a,b,c,diz,x1,x2;
printf("\nVvedite chisla\n");
scanf ("%f", &a);
scanf ("%f", &b);
scanf ("%f", &c);
diz = pow(b,2)-4*a*c;
if(a==0 && b==0 && c==0)
printf ("x = luboe chislo");
else
if(a==0 && b==0 && c!=0)
printf ("Reshyenij net");
else
if(a==0 && b!=0 && c!=0)
{
x1 = - c/b;
printf ("x=%f",x1);
}
else
if(a!=0 && diz>0)
{
x1 = (-b+sqrt(diz))/(2*a);
x2 = (-b-sqrt(diz))/(2*a);
printf ("x1=%.2f, x2=%.2f", x1,x2);
printf ("\ndiskremenant=%f", diz);
}
else
if(a!=0 && diz==0)
{
x1=-b/2*a;
printf("x=%f", x1);
}
else
printf ("Reshyenij net");
return 0;
getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2011, 23:46
Привет! Вот еще темы с ответами:

Даны натуральные числа N и M. Найти такие натуральные числа P и Q, что P/Q = M/N. - QBasic
Помогите, пожалуйста, решить задачку. Даны натуральные числа N и M. Найти такие натуральные числа P и Q, что P/Q = M/N.

Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа - Free Pascal
Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа (проверка – 27).

Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа - C#
Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа.

Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа - Pascal ABC
Найти двузначное число, обладающее тем свойством, что куб суммы его цифр равен квадрату самого числа. Ответ: 27 желательно с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.01.2011, 23:46
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru