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

Найти ошибку в коде - C++

Восстановить пароль Регистрация
 
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
05.02.2013, 00:31     Найти ошибку в коде #1
Доброго времени суток. Не могу найти ошибку в коде. Задание проще простого, вычеслить функцию. Буду благодарен за любую помощь


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
#include <iostream>
    using std::count;
    using std::cin;
    using std::endl;
    using std::ios;
#include <iomanip>
    using std::setiosflags;
    using std::setprecision;
 
#include <cmath>
 
 
 
int main()
{
    double z,x,y;
    cout<<"zadayte x:<<;
        cin >>x;
    if ((x<0)&&(y>0)) z=asin(x);
    else ((x>0)&&(y<0)) z=cos(x^2)-cos(y^2);
    else z=(sin(x)+cos(y))/(cos^2(x)+sin^2(y));
    cout<<"z="<<setiosflags(ios::fixed|ios::showpoint) <<setprecision(sin(x)+cos(y))/(cos^2(x)+sin^2(y))<<z<<endl;
        return 0;
 
 
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 00:31     Найти ошибку в коде
Посмотрите здесь:

Найти ошибку в коде C++
C++ Найти ошибку в коде
Найти ошибку в коде C++
C++ Найти ошибку в коде
C++ найти ошибку в коде
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
05.02.2013, 00:39     Найти ошибку в коде #2
Цитата Сообщение от 4ch Посмотреть сообщение
Доброго времени суток. Не могу найти ошибку в коде. Задание проще простого, вычеслить функцию. Буду благодарен за любую помощь
ошибку? вы смеётесь? тут ошибка на ошибке...
вообще не понятно кто и в чём это писал...
если следовать логике и дописать то, чего здесь почему-то нету - программа будет такой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
#include <cmath>
 
using namespace std; 
 
int main()
{
    double z,x,y;
    cout<<"zadayte x:"<<endl;
        cin >>x;
    cout<<"zadayte y:"<<endl;
        cin >>y;
    if ((x<0)&&(y>0)) z=asin(x);
    else if ((x>0)&&(y<0)) z=cos(x*x)-cos(y*y);
    else z=(sin(x)+cos(y))/(pow(cos(x),2)+pow(sin(y),2));
    cout<<"z="<<setiosflags(ios::fixed|ios::showpoint)<<z<<endl;
        return 0;
}
4ch
19 / 19 / 0
Регистрация: 24.10.2012
Сообщений: 72
05.02.2013, 00:46  [ТС]     Найти ошибку в коде #3
Цитата Сообщение от abit Посмотреть сообщение
ошибку? вы смеётесь? тут ошибка на ошибке...
вообще не понятно кто и в чём это писал...
если следовать логике и дописать то, чего здесь почему-то нету - программа будет такой
Просто писал первую прогамму на С++, мало что знаю. А так благодарю.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
05.02.2013, 01:32     Найти ошибку в коде #4
4ch, у вас, например, кавычки не закрываются двойные, это видно даже по цвету кода,
далее вы задаете х, но не задаете у, хотя работаете с этой неинициализированной переменной.
Возведение в степень это вовсе не x^2, это pow(x, 2), либо х*х. Знак ^ используется для побитового исключающего или.
Не хватает во втором условии else if, иначе выходит третий else используется без предыдущего объявления if.
using std::count; вы хотели наверное using std::cout;
и если желаете для всех функций из пространства имен std не писать полное имя (например std::cout), напишите using namespace std; так проще и понятнее

Добавлено через 1 минуту
также советую иногда нажимать на кнопку пробела, читаемость кода улучшается.
-=ЮрА=-
Заблокирован
Автор FAQ
05.02.2013, 15:20     Найти ошибку в коде #5
4ch, ниже то что от тебя требовалось - вычислить значение составной функции.
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
#include <cmath>
#include <iostream>
using namespace std;
 
//Г‡Г*ãîëîâîê Г*Г*ГёГҐГ© ГґГіГ*êöèè
double f(double x, double y);
 
int main()
{
    //ÎáúÿâëåГ*ГЁГҐ ГЁ ГЁГ*èöèГ*ëèçГ*öèÿ(ìîæГ*Г® ГЁ ГЎГҐГ§ Г*ГҐВё) ïåðåìåГ*Г*ûõ
    double x = 0;
    double y = 0;
    char choise = 0;//ïåðåìåГ*Г*Г*Гї îòâå÷Г*ГѕГ№Г*Гї Г§Г* ââîä ïîëüçîâГ*òåëÿ
    bool bContinue = true;
    while(bContinue)//ГЅГІГ® öèêë ââîäГ*
    {
        cout<<"Enter x y : ";cin>>x>>y;
        cout<<"Result  z : "<<f(x, y)<<endl;
        cout<<"Enter Y for new input : ";
        cin>>choise;
        if(choise != 'y' && choise != 'Y')
            bContinue = false;
        cin.get();//ГЋГ·ГЁГ±ГІГЄГ* îò \n
    }
    return 0;
}
 
double f(double x, double y)
{
    double z = ( sin(x) + cos(y) );//cos^2(x)+sin^2(y) == 1 ÂÑÅÃÄÀ
    if(x < 0 && 0 < y)
        z = asin(x);
    else
    if(0 < x && y < 0)
        z = cos(x*x) - cos(y*y);
    //Âåòâè else Г*ГҐ Г*Г*äî Гі Г*Г*Г± âûðГ*æåГ*ГЁГҐ z=(sin(x)+cos(y))/(cos^2(x)+sin^2(y))
    //èä¸ò ГЄГ*ГЄ äåôГ*ëòГ*îå ГЁ ïîçâîëÿåò Г±ГЅГЄГ®Г*îìèòü Г*Г* 1-Г¬ óñëîâèè
    return z;
}
По коду для первого раза конечно не плохо, но синтакс языка ещё слабоват. Также скажу что все using можно было заменить всего 1-м using namespace std;
Миниатюры
Найти ошибку в коде  
Yandex
Объявления
05.02.2013, 15:20     Найти ошибку в коде
Ответ Создать тему
Опции темы

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