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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
#1

Помогите найти ошибку - C++

28.10.2011, 02:29. Просмотров 1314. Ответов 25
Метки нет (Все метки)

Пожалуйста, помогите найти ошибку. Компилятор выдает 2 ошибки. Думаю, что намудрила с переменной a.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream.h>
 
#include <math.h>
 
int main()
{
double x, y, z, a, b, s;   // îáüÿâèëГ* ïåðåìåГ*Г*ûå.
cout << "Vvedite x:";     // ââîä Г§Г*Г*Г·ГҐГ*ГЁГ©
cin >> x;
cout << "Vvedite y:";
cin >> y; 
cout << "Vvedite z:";
cin >> z;
a=sqrt(y+(x-1, 1/3.), 1/4.);     // âû÷èñëåГ*ГЁГҐ âûðГ*æåГ*ГЁГї
b=fabs(x-y)*pow(sin,2(z)+tan(z);
s=a/b
cout << "Result h="<<h<<endl;   // âûâîä ðåçóëüòГ*ГІГ*
    return 0;          // Г§Г*âåðøåГ*ГЁГҐ ïðîãðГ*ììû
}
 Комментарий модератора 
Используйте теги форматирования кода!


Вот для этого уравнения писала:
[IMG]http://s56.***********/i153/1110/35/4dc9878db92f.jpg[/IMG]
Заранее очень признательна за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 02:29     Помогите найти ошибку
Посмотрите здесь:

Помогите найти ошибку. - C++
Задание с подпрограммой, которая упорно не хочет работать и я уже не знаю в чем ошибка.(Данные считываются из текстового файла) Даны...

Помогите найти ошибку - C++
Сегодня начал изучать c++ и не могу найти ошибку вот задача ...

Помогите найти ошибку - C++
//Даны три положительных числа а, b, c. Проверить, могут ли они быть длинами сторон треугольника. Если да, то вычислить площадь этого...

Помогите найти ошибку - C++
Здравствуйте! Я написал код, скомпилировал без ошибок, запустил и у меня ничего не вывелось в консоле, подскажите в чем проблема. Вот код: ...

Помогите найти ошибку. - C++
Дана целочисленная прямоугольная матрица. Определить: 1. Максимум среди сумм элементов диагоналей, параллельных главной диагонали...

ПОмогите найти ошибку - C++
Программа работает, но она выдаёт все строки одинаковые .А они должны быть разные. Вычислить m значений заданной функции f(x) на отрезке...

Помогите найти ошибку - C++
Задание: Написать программу, которая считывает текст из файла и выводит в другой файл и на экран предложения, содержащие максимальное...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
08.11.2011, 17:56  [ТС]     Помогите найти ошибку #16
greeezz, А желательно вводить без перевода значений:
x=17.421 y=10.365e-3 z=0.828e5
Но тогда ответ не верен:

Посмотрите вложение

Почему?
Миниатюры
Помогите найти ошибку  
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
08.11.2011, 18:02  [ТС]     Помогите найти ошибку #17
Еще можете подсказать, где можно прочесть про математическую библиотеку подробнее? И желательно с примерами. Заранее спасибо.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
08.11.2011, 23:32     Помогите найти ошибку #18
добавьте три строки в функцию чтобы увидеть цифры которые вы вводите. честно говоря я не знаю что у вас не так. я протестировал на 64битной машине и на 32двух битной тоже. результат одинаковый. (см. приложение)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main() {
    double x, y, z, a, b, c, s;
    cout << "Vvedite x:";
    cin >> x;
    cout << x << endl;
    cout << "Vvedite y:";
    cin >> y;
    cout << y << endl;
    cout << "Vvedite z:";
    cin >> z;
    cout << z << endl;
 
    a = pow((x-1), (1 * 1.0 / 3));   //чтобы вычислить корень n-ной 
    b = pow((a+y), (1 * 1.0 / 4));  //степени нужно число возвести в степень (1/n)
    c = abs(x-y)*(pow(sin(z), (1.0*2))+tan(z));
    s = b/c;
    cout << "Result s="<<s<<endl;
    system("pause");
    return 0;
}
Поподробнее про <cmath> он же <math.h> - ТУТ
Миниатюры
Помогите найти ошибку  
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
09.11.2011, 03:17  [ТС]     Помогите найти ошибку #19
Не знаю в чем дело, но на моем компьютере и нетбуке результат одинаков. Завтра еще где-нибудь проверю.

Вот код (вроде, как и у вас):
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
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main() {
    double x, y, z, a, b, c, s;
    cout << "Vvedite x:";
    cin >> x;
        cout << x << endl;
    cout << "Vvedite y:";
    cin >> y;
        cout << y << endl;
    cout << "Vvedite z:";
    cin >> z;
        cout << z << endl;
 
    a = pow((x-1), (1 * 1.0 / 3));   //÷òîáû âû÷èñëèòü êîðåГ*Гј n-Г*îé 
    b = pow((a+y), (1 * 1.0 / 4));  //Г±ГІГҐГЇГҐГ*ГЁ Г*ГіГ¦Г*Г® ÷èñëî âîçâåñòè Гў Г±ГІГҐГЇГҐГ*Гј (1/n)
    c = abs(x-y)*(pow(sin(z), (1.0*2))+tan(z));
    s = b/c;
    cout << "Result s="<<s<<endl;
        system("pause");
    return 0;
}
Миниатюры
Помогите найти ошибку  
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 03:21     Помогите найти ошибку #20
чем компилируете код?
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.11.2011, 03:38     Помогите найти ошибку #21
Цитата Сообщение от Tinusha
Еще можете подсказать, где можно прочесть про математическую библиотеку подробнее? И желательно с примерами. Заранее спасибо.
модуль от double?
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
09.11.2011, 03:53  [ТС]     Помогите найти ошибку #22
С новой программой тоже не получается разобраться. Помогите, пожалуйста..
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
#include <iostream>
 
#include <math.h>
#include <stdlib.h>
using namespace std;
 
int main()
{
double x, y, s;
cout <<"Vvedite x:";
cin >>x;
cout <<"Vvedite y:";
cin >>y;
if (x/y>0)
{
    s=pow(x+log(fabs(y)),(1 * 1.0 / 3));
    cout <<"1 vetv. Result="<<s<<endl;
}
else if (x/y<0)
{
    s=fmod(2,3)+log(fabs(sin(y));
    cout <<"2 vetv. Result="<<s<<endl;
}
else    
{
    s=sqrt((x*x), (1 * 1.0 / 3)+abs(y));
    cout <<"2 vetv. Result="<<s<<endl;
return 0;
}
Во вложении уравнение
Заранее спасибо.
Миниатюры
Помогите найти ошибку  
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 04:59     Помогите найти ошибку #23
Цитата Сообщение от Tinusha Посмотреть сообщение
(1 * 1.0 / 3)
вам надо в куб возвести. а так как вы написали это степень -3
pow(10.0,3) = 1000.0;
pow(1000.0,(1 * 1.0 / 3)) = 10.0;
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.11.2011, 05:02     Помогите найти ошибку #24
C++
1
    s = 2.0 / 3 + log(fabs(sin(y));
C++
1
    s = pow(x, 2.0 / 3) + y;
желательно про ветви писать внутри if
а сам результат выводить после if один раз

C++
1
2
3
#include <iostream>
#include <cmath>
#include <cstdlib>
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
16.11.2011, 01:09  [ТС]     Помогите найти ошибку #25
Цитата Сообщение от greeezz Посмотреть сообщение
Tinusha посомотрите приложеный файл.
Кому не даю первую программу, у всех как у меня результат.. В чем проблема?
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
#include <iostream>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main() {
    double x, y, z, a, b, c, s;
    cout << "Vvedite x:";
    cin >> x;
        cout << x << endl;
    cout << "Vvedite y:";
    cin >> y;
        cout << y << endl;
    cout << "Vvedite z:";
    cin >> z;
        cout << z << endl;
 
    a = pow((x-1), (1 * 1.0 / 3));   //÷òîáû âû÷èñëèòü êîðåГ*Гј n-Г*îé 
    b = pow((a+y), (1 * 1.0 / 4));  //Г±ГІГҐГЇГҐГ*ГЁ Г*ГіГ¦Г*Г® ÷èñëî âîçâåñòè Гў Г±ГІГҐГЇГҐГ*Гј (1/n)
    c = abs(x-y)*(pow(sin(z), (1.0*2))+tan(z));
    s = b/c;
    cout << "Result s="<<s<<endl;
        system("pause");
    return 0;
}
Добавлено через 11 минут
Цитата Сообщение от greeezz Посмотреть сообщение
вам надо в куб возвести. а так как вы написали это степень -3
pow(10.0,3) = 1000.0;
pow(1000.0,(1 * 1.0 / 3)) = 10.0;
Цитата Сообщение от accept
C++
1
s = 2.0 / 3 + log(fabs(sin(y));
C++
1
s = pow(x, 2.0 / 3) + y;
C++
1
2
3
#include <iostream>
#include <cmath>
#include <cstdlib>
Может, я что-то ни так поняла, но ошибок прибавилось..
Вот что вышло:
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
#include <iostream>
#include <cmath>
#include <cstdlib>
 
int main()
{
double x, y, s;
cout <<"Vvedite x:";
cin >>x;
cout <<"Vvedite y:";
cin >>y;
if (x/y>0)
{
    s=pow(x+log(fabs(y)),3);
    cout <<"1 vetv. Result="<<s<<endl;
}
else if (x/y<0)
{
    s=2.0/3+log(fabs(sin(y));
    cout <<"2 vetv. Result="<<s<<endl;
}
else    
{
    s=pow(x, 2.0 / 3)+y;
    cout <<"3 vetv. Result="<<s<<endl;
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 01:19     Помогите найти ошибку
Еще ссылки по теме:

Помогите найти ошибку - C++
#include &lt;iostream&gt; using namespace std; int main() { double a, b; bool state; cout &lt;&lt; &quot; Enter a = &quot;; cin &gt;&gt;...

помогите найти ошибку - C++
#pragma argsused #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; const float con={{1,1,2},{3,4,5},{6,7,8}}; class...

Помогите найти ошибку - C++
в чём здесь ошибка #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; int main() { clrscr(); ...

Помогите найти ошибку - C++
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; ...

Помогите найти ошибку - C++
Помогите, с этим кодом неправильно..(( proizv красным почерком #include &lt;iostream&gt; using namespace std; int main() { int ...


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
16.11.2011, 01:19     Помогите найти ошибку #26
Цитата Сообщение от Tinusha
http://s56.***********/i153/1110/35/4dc9878db92f.jpg
C++
1
    s = pow(y + pow(x - 1, 1.0 / 3), 1.0 / 4) / (fabs(x - y) * (pow(sin(z), 2) + tan(z)))
Цитата Сообщение от Tinusha
http://www.cyberforum.ru/attachment.php?attachmentid=105555&d=1320796335
C++
1
2
3
4
5
6
7
8
9
    v = x / y; // x, y - вещественные
    if (v > 0.0)
        s = x + pow(log(fabs(y)), 3.0);
    else if(v < 0.0)
        s = 2.0 / 3 + log(fabs(sin(y)));
    else
        s = pow(x, 2.0 / 3) + y;
    
    cout << "sum: " << s << endl;
Yandex
Объявления
16.11.2011, 01:19     Помогите найти ошибку
Ответ Создать тему
Опции темы

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