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

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

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

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

28.10.2011, 02:29. Просмотров 1328. Ответов 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]
Заранее очень признательна за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2011, 02:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите найти ошибку (C++):

Помогите найти ошибку: По двум сторонам и углу найти все остальное - C++
Доброго времени суток. В универе дали задание написать программу &quot;По двум сторонам и углу между ними в треугольнике АВС найти два остальных...

Помогите найти ошибку - C++
Задача - вывести &quot;Yes&quot; если массив возрастающий, в противном случае вывести &quot;No&quot; В массиве n элементов, n вводится с клавиатуры int...

Помогите найти ошибку - C++
ЧТО ТУТ НЕПРАВИЛЬНО ? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;cmath&gt; #include &lt;stdio.h&gt; using...

помогите найти ошибку - 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++
Сегодня начал изучать c++ и не могу найти ошибку вот задача ...

Помогите найти ошибку - C++
Программа быстрого возведения в степень.препод сказал, что одна ошибка из-за которой не работает прога.помогите найти #include...

25
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
Но тогда ответ не верен:

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

Почему?
0
Миниатюры
Помогите найти ошибку  
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
08.11.2011, 18:02  [ТС] #17
Еще можете подсказать, где можно прочесть про математическую библиотеку подробнее? И желательно с примерами. Заранее спасибо.
0
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> - ТУТ
0
Миниатюры
Помогите найти ошибку  
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;
}
0
Миниатюры
Помогите найти ошибку  
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 03:21 #20
чем компилируете код?
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.11.2011, 03:38 #21
Цитата Сообщение от Tinusha
Еще можете подсказать, где можно прочесть про математическую библиотеку подробнее? И желательно с примерами. Заранее спасибо.
модуль от double?
1
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;
}
Во вложении уравнение
Заранее спасибо.
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;
0
accept
4822 / 3243 / 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>
0
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;
}
0
accept
4822 / 3243 / 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;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2011, 01:19
Привет! Вот еще темы с ответами:

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

Помогите найти ошибку - C++
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений &quot;Да&quot;, &quot;Нет&quot;, &quot;На границе&quot; в...

Помогите найти ошибку - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; void main () {int i,j,s; int ** b=new int*(4) for (i=0;i&lt;4;i++) b=new int for...

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


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

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

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