Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
1

Нужно найти ошибку

17.02.2014, 13:04. Показов 983. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
using namespace std;
double ugol(int a, int n, double s) {
    s = (n*a*a) / (4 * (tan(360 / 2 * n)));
    return s;
}
int main() {
    int A, N;
    double S;
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N, S) << "\n";
    return 0;
}
Ошибка
Ошибка 1 error C4700: использована неинициализированная локальная переменная "S" g:\users\adilbek\documents\visual studio 2013\projects\consoleapplication47\consoleapplication47\исходный код.cpp 15 1 ConsoleApplication47
Добавлено через 17 секунд
Вроде все правильно, где моя ошибка?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2014, 13:04
Ответы с готовыми решениями:

нужно найти ошибку.
#include &lt;stdio.h&gt; void quickSortR(int* a, long N) { long i = 0, j = N; int...

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

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

Нужно найти ошибку {
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { int ...

16
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
17.02.2014, 13:08 2
S не инициализирована, компилятор вам тоже самое говорит, если хотите инициализировать её в функции передавайте через указатель.
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 13:19  [ТС] 3
Цитата Сообщение от UnsKneD Посмотреть сообщение
S не инициализирована, компилятор вам тоже самое говорит, если хотите инициализировать её в функции передавайте через указатель.
А можете показать как именно?
0
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
17.02.2014, 13:23 4
kasadi, перепутал, по ссылке надо передавать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
 
double ugol(int a, int n, double &s) {
    s = (n*a*a) / (4 * (tan(360 / 2 * n)));
    return s;
}
int main() {
    int A, N;
    double S;
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N, S) << "\n";
    return 0;
}
0
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
17.02.2014, 13:24 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <cmath>
using namespace std;
double ugol(double a, double n) {
    return  (n*a*a) / (4. * (tan(360. / 2. * n)));
 
}
int main() {
    double A, N;
 
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
17.02.2014, 13:27 6
Цитата Сообщение от kasadi Посмотреть сообщение
Мой код
Любопытства ради: а на фига и возвращать результат и по ссылке изменять?
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 13:29  [ТС] 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
using namespace std;
double ugol(int a, int n) {
    return (n*a*a) / (4 * (tan(360 / 2 * n)));;
}
int main() {
    int A, N;
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
Не стал мучатся и написал вот так.
Но без толку, ответ выходит не правильный. Я правильно написал тангенс? Там должно было быть типо (360 градусов разделенная на 2*n)
0
алкокодер
157 / 153 / 41
Регистрация: 27.12.2012
Сообщений: 550
17.02.2014, 13:33 8
kasadi, что считаете то?
0
Сгибальщик
42 / 42 / 4
Регистрация: 18.05.2013
Сообщений: 220
17.02.2014, 13:35 9
Если что, tan() работает с радианами, а не градусами.
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 13:35  [ТС] 10
Ладно, выложу формулу, по которой и делалась программа.
http://www.fxyz.ru/%D1%84%D0%B... %BA%D0%B0/
0
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
17.02.2014, 13:38 11
360 замени на типа 3.14159*2 , двойки в дроби можно сократить
В проге используй тип double
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 13:57  [ТС] 12
Цитата Сообщение от chedman Посмотреть сообщение
360 замени на типа 3.14159*2 , двойки в дроби можно сократить
В проге используй тип double
Ну 360 градусов - это 2 ПИ. Это значит что 360 - это 6.28. НИ 3.14 ни 6.28 не дали нужных результатов.

Добавлено через 11 минут
Ладно, жду Ваших советов.
0
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
17.02.2014, 13:59 13
У меня вот это работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
double ugol(double a, double n)
{
    return  (n*a*a) / (4. * (tan(M_PI / n)));
}
int main()
{
    double A, N;
 
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
Покажи свой тестовый пример.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
17.02.2014, 13:59 14
Цитата Сообщение от kasadi Посмотреть сообщение
НИ 3.14 ни 6.28 не дали нужных результатов.
Нужных - это каких? Пример ввода, и что должно получиться.
Это сделали?
Цитата Сообщение от chedman Посмотреть сообщение
В проге используй тип double
0
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 14:19  [ТС] 15
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
using namespace std;
double ugol(int a, int n) {
    return (n*a*a) / (4 * (tan(360 / 2 * n)));;
}
int main() {
    int A, N;
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
Нужных-это чтобы программа высчитала площадь многоугольника.

Добавлено через 1 минуту
Цитата Сообщение от chedman Посмотреть сообщение
У меня вот это работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
double ugol(double a, double n)
{
    return  (n*a*a) / (4. * (tan(M_PI / n)));
}
int main()
{
    double A, N;
 
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
Покажи свой тестовый пример.
А что за M_PI? и почему Вы его не объявили?
0
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
17.02.2014, 14:22 16
Ввел 4 и 4 получил 16, что верно для квадрата со стороной 4.

Добавлено через 2 минуты
M_PI - это Пи определено в заголовочном файле cmath моего компилятора mingw.
1
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
17.02.2014, 14:43  [ТС] 17
Короче намучался, но получилось...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define M_PI 3.1415926535897932384626433832795
#include <iostream>
#include <cmath>
using namespace std;
double ugol(int a, int n) {
    return (n*a*a) / (4 * (tan(M_PI /n)));;
}
int main() {
    int A, N;
    cout << "Enter numbers of side \n";
    cin >> N;
    cout << "Enter length of the sides \n";
    cin >> A;
    cout << "Area of a regular polegon: " << ugol(A, N) << "\n";
    return 0;
}
0
17.02.2014, 14:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2014, 14:43
Помогаю со студенческими работами здесь

Нужно найти ошибку
Вот код программы: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include...

Нужно найти ошибку
#include &lt;iostream.h&gt; #include &lt;math.h&gt; double a,b,c,d,v; a=1000; b=1; v=a+b;...

Нужно найти ошибку
Помогите найти ошибку, не запускается( Тексты программ переписывайте в сообщение!

Нужно найти ошибку
10 строка: #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;cstdlib&gt; const double PI=22/7; ...

Нужно найти ошибку!!
Код программы прилагается помогите найти ошибку , Заранее очень благодарен!!

Графика.Нужно найти ошибку
Нужно изобразить три концентрические окружности(окружности с одним центром),так чтобы срадняя...


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

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