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

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

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

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

28.06.2010, 20:57. Просмотров 1358. Ответов 11
Метки нет (Все метки)

Написал программу:

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)" уже имеет текст реализации

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

Не могу исправить ошибку в программе вычисляющей интерполяционные полином Лагранжа - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;functional&gt; using namespace std; template &lt;class T&gt; T...

Исправить ошибку в программе. - C++
#include&lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; using namespace std; int main() {double A; int...

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

Исправить ошибку в программе - C++
здравствуйте,помогите пожалуйста,выдает ошибку в этой строке if (q==j) #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

Исправить ошибку в программе - C++
не могу сдать зачет((( в С++ полный ноль((( надеюсь на ваше понимание.. Укажите и исправьте ошибку в программе. Полагайте, что int...

Исправить ошибку в программе - C++
Помогите исправить ошибку в этой задаче Одноклеточная амеба каждые три часа делится на 2 клетки. Определить сколько клеток будет...

11
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
28.06.2010, 21:14 #2
Цитата Сообщение от Sychik Посмотреть сообщение
Написал программу:
Какую из этих двух?
0
dxdy
97 / 97 / 5
Регистрация: 14.06.2010
Сообщений: 283
28.06.2010, 21:19 #3
Ты пытаешься сразу два проекта скомпилировать!
0
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))); 
}
Кто-нибудь, помогите ошибки исправить!
0
neske
1501 / 868 / 84
Регистрация: 26.03.2010
Сообщений: 2,974
28.06.2010, 23:02 #5
Строка 39: Вы ищите синус нуля?
0
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 использовать?
0
Sychik
0 / 0 / 0
Регистрация: 28.06.2010
Сообщений: 12
28.06.2010, 23:28  [ТС] #7
Всё, я запутался...
Кто-нибудь может исправить ошибки?
Мне надо записать алгоритм вычисления значения интеграла (sin x)/x в пределах от нуля до а.

или уже не надо...
0
neske
1501 / 868 / 84
Регистрация: 26.03.2010
Сообщений: 2,974
28.06.2010, 23:29 #8
G1m3rr, вы тоже синус нуля ищите ? )
1
G1m3rr
15 / 14 / 1
Регистрация: 06.03.2010
Сообщений: 30
28.06.2010, 23:32 #9
Цитата Сообщение от neske Посмотреть сообщение
G1m3rr, вы тоже синус нуля ищите ? )

Не по теме:

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

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

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

Не по теме:

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

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

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

Добавлено через 40 минут
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2010, 00:30
Привет! Вот еще темы с ответами:

Исправить ошибку в программе - C++
Здравствуйте. Задача такая: Создать класс Point для работы с точками на плоскости. Координаты точки – декартовы. Обязательно должны быть...

Исправить ошибку в программе - C++
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;time.h&gt; // Задание: // В одномерном массиве, состоящем из n вещественных...

Как исправить ошибку в программе - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include &lt;fstream&gt; std::string first_word(const char *filename) { ...

Найти и исправить ошибку в программе - C++
Здравствуйте. Есть те кто сможет помочь с компиляцией плагина? 1) Проект написан в 2013 году(Версия MVS неизвестна) а я работаю на 2015 -...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
29.06.2010, 00:30
Ответ Создать тему
Опции темы

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