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

Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран - C++

Восстановить пароль Регистрация
 
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 22:00     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #1
Пользователь задает натуральные числа n,q1,q2,q3.....qn
найти все q и вывести на экран , при которых корни уравнения x*x+x*q+n больше нуля


Написать прогу без использования массивов ,только с помощь циклов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 22:00     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран
Посмотрите здесь:

Дано натуральное число n. Вывести на экран все натуральные числа, меньше n и взаимно простые с ним. C++
даны натуральные n, k. Нужно вывести на экран k цифр числа 1 / n C++
C++ Вывести все натуральные числа, меньше за n. С++
C++ Вывести на экран все трехзначные натуральные числа...
C++ Даны натуральные числа N, K, L (K<L). Вывести на экран все делители числа N, которые меньше K или больше L
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Manjak
 Аватар для Manjak
269 / 175 / 7
Регистрация: 12.03.2010
Сообщений: 494
29.09.2010, 10:19     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #2
x*x+x*q+n не сильно похоже на уравнение, чему равно, нулю? Или вообще все возможные х для функции(хотя для функции так не получится)?
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
29.09.2010, 11:10  [ТС]     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #3
x*x+x*q+n = 0 (квадратное уравнение) нужно что б программа подставляла все заданные q в уравнение и выдавала на экран те q при которых корни больше нуля
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
29.09.2010, 11:40     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #4
Ну где-то так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    int n,q;
    char answer[400]={0};//тут формируем ответ
    char num[10];//для перевода числа в чар
    std::cout<<"Enter n=";
    std::cin>>n;
    for(int i=1;i<=n;i++)
    {
        std::cout<<"Enter q["<<i<<"]=";
        std::cin>>q;
        if(q<0&&q*q-4*i>0)//корни будут больше нуля, если дискриминант не отрицательный и q<0
        {
            itoa(q,num,10);//перевели число в чар
            strcat(answer,num);//добавили число в ответ
            strcat(answer," ");//отступ для красоты, можно здесь перевод строки делать
        }
    }
    std::cout<<answer;
}
Почему корни будут не отрицательны при q<0 и положительном дискриминанте:
Дискриминант положительный => есть корни
x1,x2 - корни
x^2+q*x+n=0 //Здесь немного не понял как выглядит уравнение - если x^2+Qi*x+i=0 - то как у меня, если x^2+Qi*x+n=0, то надо заменить q*q-4*i на q*q-4*n
x1*x2=n => так как n>0 то корни либо оба положительных, либо оба отрицательных
x1+x2=-q => если q<0 - то корни положительные
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
29.09.2010, 13:16  [ТС]     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #5
DexterUa, спасибо за старания , но вроде бы программа не до конца работает , как я понял нужно задать количество Q и переменную n отдельно

и зачем это надо ?
itoa(q,num,10);//перевели число в чар
strcat(answer,num);//добавили число в ответ
strcat(answer," ")
Dexter
 Аватар для Dexter
284 / 144 / 16
Регистрация: 13.10.2009
Сообщений: 164
29.09.2010, 13:25     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #6
itoa(q,num,10);//перевели число в чар
strcat(answer,num);//добавили число в ответ
strcat(answer," ")
Сделал так чтоб не использовать массивы для хранения ответа - не лучший способ, но имеет право существовать.
Можно сразу выводить на экран будут ли корни положительные, но как по мне оно тогда не очень смотрится.

Если нужно ввести отдельно n и количество Q - так добавьте переменную количества, выглядеть будет приблизительно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int main()
{
    int n,q,kol;
    char answer[400]={0};//тут формируем ответ
    char num[10];//для перевода числа в чар
    std::cout<<"Enter kol=";
    std::cin>>kol;
    std::cout<<"Enter n=";
    std::cin>>n;
    for(int i=1;i<=kol;i++)
    {
        std::cout<<"Enter q["<<i<<"]=";
        std::cin>>q;
        if(q<0&&q*q-4*n>0)//корни будут больше нуля, если дискриминант не отрицательный и q<0
        {
            itoa(q,num,10);//перевели число в чар
            strcat(answer,num);//добавили число в ответ
            strcat(answer," ");//отступ для красоты, можно здесь перевод строки делать
        }
    }
    std::cout<<answer;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2010, 13:49     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран
Еще ссылки по теме:

Составить программу, которая выводит на экран все натуральные числа в диапазоне от 1 до n, которые являются степенью числа 2 C++
C++ Работа с Функциями (Пользователь задает с клавиатуры символ, указывает как вывести на экран...)
Найти все простые числа до 1000 и вывести их на экран C++

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

Или воспользуйтесь поиском по форуму:
Sun-rise
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
29.09.2010, 13:49  [ТС]     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран #7
DexterUa, Спасибо огромное!!!Всё работает отлично !!
Мужик ,дай свой номер аськи если будут вопросы буду обращаться
Yandex
Объявления
29.09.2010, 13:49     Пользователь задает натуральные числа n,q1,q2,q3.....qn найти все q и вывести на экран
Ответ Создать тему
Опции темы

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