0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
1

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

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

Author24 — интернет-сервис помощи студентам
Пожалуйста, помогите найти ошибку. Компилятор выдает 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;          // çàâåðøåíèå ïðîãðàììû
}
 Комментарий модератора 
Используйте теги форматирования кода!


Вот для этого уравнения писала:

Заранее очень признательна за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2011, 02:29
Ответы с готовыми решениями:

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

помогите найти ошибку
доброе время суток Столкнулся с такой проблемой, надо сделать прогу которая: Вводим текст, и из...

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

Помогите найти ошибку
#include &quot;stdafx.h&quot; #include &quot;stdlib.h&quot; #include &quot;iostream&quot; #include &quot;conio.h&quot; ...

25
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
28.10.2011, 03:12 2
сразу после #include надо добавить
using namespace std;

Цитата Сообщение от Tinusha Посмотреть сообщение
s=a/b
как минимум тут нет точки с запятой.
#include <iostream.h>
вроде как #include <iostream>

b=fabs(x-y)*pow(sin,2(z)+tan(z);
закрывающейся скобки нехватает

cout << "Result h="<<h<<endl
тут вы используете переменную которую не инициализировали

Добавлено через 23 минуты
я добавил переменную "c" чтобы выделить для наглядности действие.
попробуйте так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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 << "Vvedite y:";
    cin >> y;
    cout << "Vvedite z:";
    cin >> z;
 
    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;
    return 0;
}
1
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.10.2011, 03:20 3
C++
1
 c = abs(x-y)*(pow(sin(z), (1.0*2))+tan(z));
Разве нельзя вместо 1.0*2 написать 2.0?
C++
1
 c = abs(x-y)*(pow(sin(z), 2.0)+tan(z));
0
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
28.10.2011, 03:24 4
Цитата Сообщение от Toshkarik Посмотреть сообщение
Разве нельзя вместо 1.0*2 написать 2.0?
можно. это просто для наглядности преобразования типов.
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
29.10.2011, 21:29  [ТС] 5
Цитата Сообщение от greeezz Посмотреть сообщение
сразу после #include надо добавить
using namespace std;


как минимум тут нет точки с запятой.

вроде как #include <iostream>


закрывающейся скобки нехватает


тут вы используете переменную которую не инициализировали

Добавлено через 23 минуты
я добавил переменную "c" чтобы выделить для наглядности действие.
попробуйте так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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 << "Vvedite y:";
    cin >> y;
    cout << "Vvedite z:";
    cin >> z;
 
    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;
    return 0;
}
Спасибо огромное за помощь и быстрый ответ. Лучше поняла синтаксис. Но программа почему-то не выдает результат, а сразу после ввода значений завершается.
0
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
29.10.2011, 22:24 6
Цитата Сообщение от Tinusha Посмотреть сообщение
Спасибо огромное за помощь и быстрый ответ. Лучше поняла синтаксис. Но программа почему-то не выдает результат, а сразу после ввода значений завершается.
добавьте в конец программы перед return 0; строчку: system("pause");
C++
1
2
3
4
...
 system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
30.10.2011, 02:16  [ТС] 7
Цитата Сообщение от greeezz Посмотреть сообщение
добавьте в конец программы перед return 0; строчку: system("pause");
C++
1
2
3
4
...
 system("pause");
return 0;
}
Помогло. Спасибо. Только почему-то ответ не совпал. Выдало 0,338549, должно быть 0,330564.

Добавлено через 9 минут
Цитата Сообщение от greeezz Посмотреть сообщение
добавьте в конец программы перед return 0; строчку: system("pause");
C++
1
2
3
4
...
 system("pause");
return 0;
}
Помогло. Спасибо. Только почему-то ответ не совпал. Выдало 0,338549, должно быть 0,330564.
0
448 / 211 / 21
Регистрация: 07.10.2011
Сообщений: 462
30.10.2011, 02:24 8
Tinusha, при каких значениях x, y, z проверяете?
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
01.11.2011, 03:26  [ТС] 9
aeshes,
x=17,421, y=10,365∙10-3, z=0,828∙10(со степенью 5)
0
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
01.11.2011, 03:42 10
Tinusha посомотрите приложеный файл.
Цитата Сообщение от Tinusha Посмотреть сообщение
должно быть 0,330564.
Миниатюры
Помогите найти ошибку  
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
01.11.2011, 05:11  [ТС] 11
greeezz, Вы значение переменной y,z перевели?
0
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
01.11.2011, 05:28 12
да.
x=17.421
y=10,365∙10 (в степени -3) = 0.010365
z=0,828∙10(в степени 5) = 82800
0
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
02.11.2011, 01:53  [ТС] 13
А вы значение переменных y и z перевели?
0
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
02.11.2011, 02:00 14
Цитата Сообщение от Tinusha Посмотреть сообщение
А вы значение переменных y и z перевели?
я же вроде вам ответил в предыдущем посте.

да.
x=17.421
y=10,365∙10 (в степени -3) = 0.010365
z=0,828∙10(в степени 5) = 82800
1
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
04.11.2011, 00:44  [ТС] 15
Цитата Сообщение от greeezz Посмотреть сообщение
я же вроде вам ответил в предыдущем посте.
Простите, мне сразу не показало мое старое сообщение..
0
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
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
08.11.2011, 18:02  [ТС] 17
Еще можете подсказать, где можно прочесть про математическую библиотеку подробнее? И желательно с примерами. Заранее спасибо.
0
278 / 173 / 21
Регистрация: 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
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
278 / 173 / 21
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 03:21 20
чем компилируете код?
0
09.11.2011, 03:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2011, 03:21
Помогаю со студенческими работами здесь

Помогите найти ошибку
в чём здесь ошибка #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt;...

ПОмогите найти ошибку
Программа работает, но она выдаёт все строки одинаковые .А они должны быть разные. Вычислить m...

помогите найти ошибку
#pragma argsused #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include &lt;math.h&gt; const float...

Помогите найти ошибку
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;fstream.h&gt; void main() {clrscr(); struct...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru