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

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

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

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

28.10.2011, 02:29. Просмотров 1313. Ответов 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++
Задание: Написать программу, которая считывает текст из файла и выводит в другой файл и на экран предложения, содержащие максимальное...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
greeezz
272 / 165 / 4
Регистрация: 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;
}
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
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));
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
28.10.2011, 03:24     Помогите найти ошибку #4
Цитата Сообщение от Toshkarik Посмотреть сообщение
Разве нельзя вместо 1.0*2 написать 2.0?
можно. это просто для наглядности преобразования типов.
Tinusha
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;
}
Спасибо огромное за помощь и быстрый ответ. Лучше поняла синтаксис. Но программа почему-то не выдает результат, а сразу после ввода значений завершается.
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
29.10.2011, 22:24     Помогите найти ошибку #6
Цитата Сообщение от Tinusha Посмотреть сообщение
Спасибо огромное за помощь и быстрый ответ. Лучше поняла синтаксис. Но программа почему-то не выдает результат, а сразу после ввода значений завершается.
добавьте в конец программы перед return 0; строчку: system("pause");
C++
1
2
3
4
...
 system("pause");
return 0;
}
Tinusha
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.
aeshes
440 / 203 / 13
Регистрация: 07.10.2011
Сообщений: 462
30.10.2011, 02:24     Помогите найти ошибку #8
Tinusha, при каких значениях x, y, z проверяете?
Tinusha
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)
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
01.11.2011, 03:42     Помогите найти ошибку #10
Tinusha посомотрите приложеный файл.
Цитата Сообщение от Tinusha Посмотреть сообщение
должно быть 0,330564.
Миниатюры
Помогите найти ошибку  
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
01.11.2011, 05:11  [ТС]     Помогите найти ошибку #11
greeezz, Вы значение переменной y,z перевели?
greeezz
272 / 165 / 4
Регистрация: 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
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
02.11.2011, 01:53  [ТС]     Помогите найти ошибку #13
А вы значение переменных y и z перевели?
greeezz
272 / 165 / 4
Регистрация: 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
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
04.11.2011, 00:44  [ТС]     Помогите найти ошибку #15
Цитата Сообщение от greeezz Посмотреть сообщение
я же вроде вам ответил в предыдущем посте.
Простите, мне сразу не показало мое старое сообщение..
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;
}
Миниатюры
Помогите найти ошибку  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2011, 03:21     Помогите найти ошибку
Еще ссылки по теме:

Помогите найти ошибку - 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 ...


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

Или воспользуйтесь поиском по форуму:
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
09.11.2011, 03:21     Помогите найти ошибку #20
чем компилируете код?
Yandex
Объявления
09.11.2011, 03:21     Помогите найти ошибку
Ответ Создать тему
Опции темы

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