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

Не могу исправить ошибку в программе на С++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Sychik
 Аватар для Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
28.06.2010, 20:57     Не могу исправить ошибку в программе на С++ #1
Написал программу:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream> 
#include <conio.h> 
using namespace std; 
double sin (unsigned short n); 
int main() 
{ 
double s, n, y, e, a; 
cout << " Федеральное агентство по образованию Российской федерации" << endl; 
cout << " ГОУ ВПО \"Южно-Уральский государственный университет\"" << endl; 
cout << " Факультет \"Аэрокосмический\"" << endl; 
cout << " Кафедра \"Летательных аппаратов и автоматических устройств\"" << endl << endl << endl<< endl<<endl; 
cout << " Программа \"Интеграл\"" << endl<<endl<<endl<<endl<<endl; 
cout << " Руководитель " << endl; 
cout << " Волосников А.С. " << endl; 
cout << " Автор " << endl; 
cout << " Студент группы АК-110 "; 
cout << " Касьянов Д.И. " << endl << endl << endl; 
cout << " Челябинск 2010 " << endl<< endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
cout << " АННОТАЦИЯ" << endl<<endl<<endl; 
cout << " Программа \"Интеграл\" вычисляет значение интеграла фунуции " <<endl; 
cout << " (sin x)/x в пределах от нуля до а" << endl <<endl <<endl; 
cout << " Входными данными к программе являются значения переменных "<<endl; 
cout << " e и a <типа double> "; 
cout << " вводимые пользователем с клавиатуры." << endl <<endl <<endl; 
cout << " Выходными данными программы является значение интеграла."<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
setlocale(LC_ALL,"Russian"); 
cout << "Введите значение предела точности значения интеграла "; 
cin >> e; 
cout << "Введите значение верхнего предела интегрирования "; 
cin >> a; 
n=0; 
y=0; 
s = sin(n); 
if (s>e) 
{ 
n=n+1; 
s=sin(n); 
y=y+sin(n); 
} 
cout<< "Значение интеграла равно "<< y <<""; 
_getch(); 
return 0; 
} 
 
double sin (unsigned short int n) 
{ 
double a; 
if (n=0) return a; 
else 
return sin(n-1)*(((-1)*a*a*(2*n-3))/((2*n-2)*(2*n-1)(2*n-1))); 
}
#include <iostream> 
#include <conio.h> 
using namespace std; 
int main () 
        { 
        ////////////////////////////////////////////////////// 
        setlocale(LC_ALL,"Russian"); 
        ////////////////////////////////////////////////////// 
        int N, i, k; 
        float *x, b; 
        ////////////////////////////////////////////////////// 
        cout << "Введите длину массива: "; 
        cin >> N; 
        ////////////////////////////////////////////////////// 
        x=new float[N]; 
        for(i=0; i<N; i++) 
                { 
                cout << "Введите x[" << i << "] = "; 
                cin >> x[i]; 
                } 
        ////////////////////////////////////////////////////// 
        for(k=N-1; k>0; k--) 
                { 
                for(i=0; i<k; i++) 
                        { 
                        if(x[i+1]<x[i]) 
                                { 
                                b=x[i]; x[i]=x[i+1]; x[i+1]=b; 
                                } 
                        } 
                } 
        ////////////////////////////////////////////////////// 
        cout << "Отсортированный массив:" << endl; 
        for(i=0; i<N; i++) 
                cout << x[i] << ' '; 
        ////////////////////////////////////////////////////// 
        cout << endl << "Нажмите любую клавишу..."; 
        _getch(); 
        return 0; 
        }
Выдает мне следующие ошибки и предупреждения:
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов
error C2084: функция "int main(void)" уже имеет текст реализации

Помогите исправить, пожалуйста. Ах да, С++ я изучаю всего второй день, а программа срочно нужна.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2010, 20:57     Не могу исправить ошибку в программе на С++
Посмотрите здесь:

C++ Исправить ошибку в программе.
Исправить ошибку в программе C++
C++ Исправить ошибку в программе
C++ необходимо исправить ошибку в программе
C++ Исправить ошибку в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
28.06.2010, 21:14     Не могу исправить ошибку в программе на С++ #2
Цитата Сообщение от Sychik Посмотреть сообщение
Написал программу:
Какую из этих двух?
dxdy
 Аватар для dxdy
97 / 97 / 5
Регистрация: 14.06.2010
Сообщений: 283
28.06.2010, 21:19     Не могу исправить ошибку в программе на С++ #3
Ты пытаешься сразу два проекта скомпилировать!
Sychik
 Аватар для Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
28.06.2010, 22:56  [ТС]     Не могу исправить ошибку в программе на С++ #4
Цитата Сообщение от rangerx Посмотреть сообщение
Какую из этих двух?
Которая первая - интеграл



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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream> 
#include <conio.h> 
using namespace std; 
double sin (unsigned short n); 
int main() 
{ 
double s, n, y, e, a; 
cout << " Федеральное агентство по образованию Российской федерации" << endl; 
cout << " ГОУ ВПО \"Южно-Уральский государственный университет\"" << endl; 
cout << " Факультет \"Аэрокосмический\"" << endl; 
cout << " Кафедра \"Летательных аппаратов и автоматических устройств\"" << endl << endl << endl<< endl<<endl; 
cout << " Программа \"Интеграл\"" << endl<<endl<<endl<<endl<<endl; 
cout << " Руководитель " << endl; 
cout << " Волосников А.С. " << endl; 
cout << " Автор " << endl; 
cout << " Студент группы АК-110 "; 
cout << " Касьянов Д.И. " << endl << endl << endl; 
cout << " Челябинск 2010 " << endl<< endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
cout << " АННОТАЦИЯ" << endl<<endl<<endl; 
cout << " Программа \"Интеграл\" вычисляет значение интеграла фунуции " <<endl; 
cout << " (sin x)/x в пределах от нуля до а" << endl <<endl <<endl; 
cout << " Входными данными к программе являются значения переменных "<<endl; 
cout << " e и a <типа double> "; 
cout << " вводимые пользователем с клавиатуры." << endl <<endl <<endl; 
cout << " Выходными данными программы является значение интеграла."<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
setlocale(LC_ALL,"Russian"); 
cout << "Введите значение предела точности значения интеграла "; 
cin >> e; 
cout << "Введите значение верхнего предела интегрирования "; 
cin >> a; 
n=0; 
y=0; 
s = sin(n); 
if (s>e) 
{ 
n=n+1; 
s=sin(n); 
y=y+sin(n); 
} 
cout<< "Значение интеграла равно "<< y <<""; 
_getch(); 
return 0; 
} 
 
double sin (unsigned short int n) 
{ 
double a; 
if (n=0) return a; 
else 
return sin(n-1)*(((-1)*a*a*(2*n-3))/((2*n-2)*(2*n-1)(2*n-1))); 
}
Получаются такие предупреждения и ошибки:
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
warning C4244: аргумент: преобразование 'double' в 'unsigned short', возможна потеря данных
error C2064: результатом вычисления фрагмента не является функция, принимающая 1 аргументов

Добавлено через 1 час 30 минут
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream> 
#include <conio.h> 
using namespace std; 
double sin (unsigned short n); 
int main() 
{ 
double s, n, y, e, a; 
cout << " Федеральное агентство по образованию Российской федерации" << endl; 
cout << " ГОУ ВПО \"Южно-Уральский государственный университет\"" << endl; 
cout << " Факультет \"Аэрокосмический\"" << endl; 
cout << " Кафедра \"Летательных аппаратов и автоматических устройств\"" << endl << endl << endl<< endl<<endl; 
cout << " Программа \"Интеграл\"" << endl<<endl<<endl<<endl<<endl; 
cout << " Руководитель " << endl; 
cout << " Волосников А.С. " << endl; 
cout << " Автор " << endl; 
cout << " Студент группы АК-110 "; 
cout << " Касьянов Д.И. " << endl << endl << endl; 
cout << " Челябинск 2010 " << endl<< endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
cout << " АННОТАЦИЯ" << endl<<endl<<endl; 
cout << " Программа \"Интеграл\" вычисляет значение интеграла фунуции " <<endl; 
cout << " (sin x)/x в пределах от нуля до а" << endl <<endl <<endl; 
cout << " Входными данными к программе являются значения переменных "<<endl; 
cout << " e и a <типа double> "; 
cout << " вводимые пользователем с клавиатуры." << endl <<endl <<endl; 
cout << " Выходными данными программы является значение интеграла."<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
setlocale(LC_ALL,"Russian"); 
cout << "Введите значение предела точности значения интеграла "; 
cin >> e; 
cout << "Введите значение верхнего предела интегрирования "; 
cin >> a; 
n=0; 
y=0; 
s = sin(n); 
if (s>e) 
{ 
n=n+1; 
s=sin(n); 
y=y+sin(n); 
} 
cout<< "Значение интеграла равно "<< y <<""; 
_getch(); 
return 0; 
} 
 
double sin (unsigned short int n) 
{ 
double a; 
if (n=0) return a; 
else 
return sin(n-1)*(((-1)*a*a*(2*n-3))/((2*n-2)*(2*n-1)(2*n-1))); 
}
Кто-нибудь, помогите ошибки исправить!
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
28.06.2010, 23:02     Не могу исправить ошибку в программе на С++ #5
Строка 39: Вы ищите синус нуля?
G1m3rr
15 / 14 / 1
Регистрация: 06.03.2010
Сообщений: 30
28.06.2010, 23:27     Не могу исправить ошибку в программе на С++ #6
Исправил часть...
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "stdafx.h"
#include <iostream> 
#include <conio.h> 
using namespace std; 
double sin (double n); 
int main() 
{ 
double s, n, y, e, a; 
cout << " Федеральное агентство по образованию Российской федерации" << endl; 
cout << " ГОУ ВПО \"Южно-Уральский государственный университет\"" << endl; 
cout << " Факультет \"Аэрокосмический\"" << endl; 
cout << " Кафедра \"Летательных аппаратов и автоматических устройств\"" << endl << endl << endl<< endl<<endl; 
cout << " Программа \"Интеграл\"" << endl<<endl<<endl<<endl<<endl; 
cout << " Руководитель " << endl; 
cout << " Волосников А.С. " << endl; 
cout << " Автор " << endl; 
cout << " Студент группы АК-110 "; 
cout << " Касьянов Д.И. " << endl << endl << endl; 
cout << " Челябинск 2010 " << endl<< endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
cout << " АННОТАЦИЯ" << endl<<endl<<endl; 
cout << " Программа \"Интеграл\" вычисляет значение интеграла фунуции " <<endl; 
cout << " (sin x)/x в пределах от нуля до а" << endl <<endl <<endl; 
cout << " Входными данными к программе являются значения переменных "<<endl; 
cout << " e и a <типа double> "; 
cout << " вводимые пользователем с клавиатуры." << endl <<endl <<endl; 
cout << " Выходными данными программы является значение интеграла."<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl; 
cout << " Нажмите любую клавишу..."; 
_getch(); 
system("cls"); 
setlocale(LC_ALL,"Russian"); 
cout << "Введите значение предела точности значения интеграла "; 
cin >> e; 
cout << "Введите значение верхнего предела интегрирования "; 
cin >> a; 
n=0; 
y=0; 
s = sin(n); 
if (s>e) 
{ 
n=n+1; 
s=sin(n); 
y=y+sin(n); 
} 
cout<< "Значение интеграла равно "<< y <<""; 
_getch(); 
return 0; 
} 
 
double sin (double n) 
{ 
double a; 
if (n=0) return 0; 
else 
return sin(n-1)*(((-1)*a*a*(2*n-3))/((2*n-2)*(2*n-1)(2*n-1))); 
}
Осталось разобраться с тем бредом который ты написал:
А точнее:
C++
1
double a;//задай значение
C++
1
sin(n-1)*(((-1)*a*a*(2*n-3))/((2*n-2)*(2*n-1)(2*n-1)))//что за бред откуда это?
не легче cmath использовать?
Sychik
 Аватар для Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
28.06.2010, 23:28  [ТС]     Не могу исправить ошибку в программе на С++ #7
Всё, я запутался...
Кто-нибудь может исправить ошибки?
Мне надо записать алгоритм вычисления значения интеграла (sin x)/x в пределах от нуля до а.

или уже не надо...
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
28.06.2010, 23:29     Не могу исправить ошибку в программе на С++ #8
G1m3rr, вы тоже синус нуля ищите ? )
G1m3rr
15 / 14 / 1
Регистрация: 06.03.2010
Сообщений: 30
28.06.2010, 23:32     Не могу исправить ошибку в программе на С++ #9
Цитата Сообщение от neske Посмотреть сообщение
G1m3rr, вы тоже синус нуля ищите ? )

Не по теме:

=)
Бугога вы правы=)...не читал код...смотрел на его ошибки и на синус функцию...

Sychik
 Аватар для Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
28.06.2010, 23:39  [ТС]     Не могу исправить ошибку в программе на С++ #10
Так, ладно, помогите, пожалуйста, чайнику и скажите как должна программа выглядеть.
Надо записать алгоритм вычисления значения интеграла (sin x)/x в пределах от нуля до а

А вот эта строка последняя - мне ее туда преподаватель вставил.
G1m3rr
15 / 14 / 1
Регистрация: 06.03.2010
Сообщений: 30
28.06.2010, 23:39     Не могу исправить ошибку в программе на С++ #11
а чему равен то ваш интеграл sin(x)/x?

Не по теме:

Не возможно проинтегрировать эту функцию.
Вероятно, это неберущийся интеграл.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2010, 00:30     Не могу исправить ошибку в программе на С++
Еще ссылки по теме:

Исправить ошибку в программе C++
C++ Исправить ошибку в простой программе
Исправить ошибку в программе C++

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

Или воспользуйтесь поиском по форуму:
Sychik
 Аватар для Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
29.06.2010, 00:30  [ТС]     Не могу исправить ошибку в программе на С++ #12
Стою на асфальте я в лыжи обутый, то ли лыжи не катят, то ли я тормознутый))))

Может я что-то не так понял, поэтому пишу задание как есть:
Построить и записать алгоритм вычисления значения интеграла (sin x)/x в пределах от нуля до а с использованием рекурсии

Добавлено через 40 минут
Yandex
Объявления
29.06.2010, 00:30     Не могу исправить ошибку в программе на С++
Ответ Создать тему
Опции темы

Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru