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

Посчитать сумму элементов массива, при которых квадратное уравнение имеет решение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Открытие и побитовое чтение jpeg-файла http://www.cyberforum.ru/cpp-beginners/thread252344.html
Здравствуйте уважаемые участники форума. Прошу подсказать, как лучше справиться с задачей. Собственно нужно открыть jpeg-файл и прочитать оттуда разную информацию, для того чтобы потом использовать ее для создания другого файла, тоже jpeg. Хочется услышать вообще идею, как это делается. Как обычно обрабатываются файлы такого вида? Я иду по такому пути: 1. Открываю файл типа FILE *file...
C++ алгоритм форда белмана Помогите пожалуйста разобраться с этим алгоритмом! я понял его смысл но не до конца. например такой вопрос: как задаётся в нем граф? если можете скиньте пожалуйста код на c++ http://www.cyberforum.ru/cpp-beginners/thread252334.html
_itoa,вопрос по char* C++
В MSDN описана функция char *_itoa( int value, char *str, int radix ); В примере
исключения C++
Помогите пожалуйста создать мнoгoурoвнeвую иeрaрхию нaслeдoвaния клaссoв исключeния для сoздaния ситуaции, в кoтoрoй вaжнa пoслeдoвaтeльнсoть oбрaбoтчикoв исключeний.
C++ как заставить С++ и С# работать вместе? http://www.cyberforum.ru/cpp-beginners/thread252311.html
Здравствуйте! Хотелось бы научится писать проги со совмещение С++ и шарпа... Посоветуйте что-то почитать или хотябы покажите код как написаная на Си своп_инт(поменять местами 2 инта) и консоль апликейшн на шарпе работают вместе...
C++ Момогите с условием Посчитать количество слов заданных с клавиатуры в строке. Есть предположения программы, но она не работает. Исправте и допишите программу пожалуйста. Или хотя бы подкинте идею решения программы. #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream.h> подробнее

Показать сообщение отдельно
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
08.03.2011, 22:11  [ТС]
Проверьте код пожалуйста,я написал его
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
//Trvac e (a1,a2,...an) miachaph zangvac. Gtnel ayn tarreri gumary, voronc depqum
//X2+3aix+5=0 qarakusi havasarumn uni irakan armatner. Ete aydpisi elementner chkan, apa tpel 0.
 
//----------------------------
 
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <math.h>
 
using namespace std;
 
void inp(int* y,int n);         //input of matrix
void out(int* y,int n);         //output of matrix
int calc(int* y,int n);         //calc function
bool Dcheck(int a);         //checking for real roots
 
 
 
void main()
{
    int n;          //matrix size
    cout<<"n=";         //input of size
    cin>>n;
 
    int* y=new int[n];      //creating
    inp(y,n);               //input matrix
    out(y,n);           //output
    int s=calc(y,n);        //calling calc function
 
    cout<<"Summa="<<s<<endl;        //result
    
}
 
void inp(int* y,int n)
{
    srand(time(0));
    
    for(int i=0;i<n;i++)
        *(y+i)=rand()%10;
}
 
void out(int* y,int n)
{
    for(int i=0;i<n;i++)
        cout<<*(y+i)<<" ";
    cout<<endl;
 
}
 
bool Dcheck(int a)
{
    //X2+3ax+5=0
    bool t;         //answer
    double x1,x2;       //roots
    double d;           //descriminant
    d=(3*a)*(3*a)-20;       //d=b^2-4ac
 
        if(d<0)         
            return 0;
        if(d==0)        //x=-b+-0/2a
        {
            x1=(-(3*a))/2;
            x2=x1;
        }
 
        else
        {
            x1=((-(3*a))-sqrt(d))/2;        
            x2=((-(3*a))+sqrt(d))/2;
        }
 
    if(x1==(int)x1 && x2==(int)x2)          //ex. 5.0 = 5
        t=true;
    else            //ex 5.1 != 5
        t=false;
    
    return t;
}
int calc(int* y,int n)
{
    int s=0;            //summa
    int i=0;            //index
    
        for(i=0;i<n;i++)
        {
            if(Dcheck(*(y+i))==1)
            {
                cout<<"The number="<<*(y+i)<<endl;          
                s+=*(y+i);
            }
        }
    return s;
}
Добавлено через 55 секунд
В уравнении X2+3aix+5=0 где аi это очередной элемент массива, корни бывают реальные только тогда,когда a[i]==2
Почему же так?В смысле правильно это?

Добавлено через 11 минут
вот написал такой код...
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
bool Dcheck(int a);         //checking for real roots
 
void main()
{
    for(int i=0;i<=9999;i++)
        if(Dcheck(i)==1)
            cout<<i<<endl;
}
bool Dcheck(int a)
{
        //X2+3ax+5=0
        bool t;                 //answer
        double x1,x2;           //roots
        double d;                       //descriminant
        d=(3*a)*(3*a)-20;               //d=b^2-4ac
 
                if(d<0)                 
                        return 0;
                if(d==0)                //x=-b+-0/2a
                {
                        x1=(-(3*a))/2;
                        x2=x1;
                }
 
                else
                {
                        x1=((-(3*a))-sqrt(d))/2;                
                        x2=((-(3*a))+sqrt(d))/2;
                }
 
        if(x1==(int)x1 && x2==(int)x2)                  //ex. 5.0 = 5
                t=true;
        else                    //ex 5.1 != 5
                t=false;
        
        return t;
}
ответ - 2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru