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

ребят, код работал, а щас снова компиллятор ругается, почему? - C++

Войти
Регистрация
Восстановить пароль
 
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 18:19     ребят, код работал, а щас снова компиллятор ругается, почему? #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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <iomanip>
#include <math.h>
#include<stdio.h>
using namespace std;
 
int main ()
{
double Ito1,O1,O2,O3,O4,O5,i1,S = 0,i2,R4,i0,t1,t2,n,h,Qt,Q,t[105],k[105],ILP,IPP,ICP,ITR,S1,S2,IPR; // S = 0
int i;
R4=1.88;
Ito1=3.346*pow(10.0,-7.0); // исправил
Qt=R4*Ito1;
cout<<"Vvedite n, t1, t2";
cout<<"\n";
cin>>n>>t1>>t2;
h=(t2-t1)/n;
printf("%4.5f",h);
cout<<"\n";
cout<<"Tochnoe kolichestvo teploti= ";
printf("%4.7f",Qt);
cout<<"\n";
cout<<"Metod levux pryamougolnikov";
for(i=0;i<n;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=0;i<n;i++)
{
S=S+k[i];
}
ILP=S*h;
Q=R4*ILP;
O1=Ito1-ILP;
cout<<"\n";
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod pravux pryamougolnikov";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n+1;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n+1;i++)
{
S=S+k[i];
}
IPP=S*h;
Q=R4*IPP;
O2=Ito1-IPP;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod centralnux pryamougolnikov";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n+1;i++)
{
t[i]=t1+i*h-0.5*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n+1;i++)
{
S=S+k[i];
}
ICP=S*h;
Q=R4*ICP;
O3=Ito1-ICP;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod trapeciy";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n;i++)
{
S=S+k[i];
}
ITR=h*(0.5*(k[0]+k[(int)n])+S); // исправил
Q=R4*ITR;
O4=Ito1-ITR;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod parabol";
cout<<"\n";
Q=0;
t1=t1;
S=0;
S1=0;
S2=0;
for(i=1;i<n;i=i+2)
{
S1=S1+k[i];}
for(i=2;i<n-1;i=i+2)
{
S2=S2+k[i];
}
IPR=h*(k[0]+k[(int)n]+4*S1+2*S2)/3; // исправил, т.к. индекс должен быть целым числом
Q=IPR*R4;
O5=Ito1-IPR;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Oshibki"<<"\n";
cout<<"L "<<O1<<"\n"<<"P "<<O2<<"\n"<<"S "<<O3<<"\n"<<"TR "<<O4<<"\n"<<"P "<<O5;
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2013, 18:19     ребят, код работал, а щас снова компиллятор ругается, почему?
Посмотрите здесь:

Почему компилятор ругается? C++
Почему ругается на не объявленный идентификатор C++
C++ Почему, С++ ругается на контруктор?
C++ почему компилятор не ругается?
уважаемые программисты, у меня компиллятор ругается( делов на 1минутку C++
Ругается на деструктор (выделял динамически память). Почему? C++
C++ Почему ругается компилятор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
11.04.2013, 18:24     ребят, код работал, а щас снова компиллятор ругается, почему? #2
шапку сделай
C++
1
2
3
4
5
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <сstdlib>
вместо
C++
1
2
3
4
#include <iostream>
#include <iomanip>
#include <math.h>
#include<stdio.h>
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 18:26  [ТС]     ребят, код работал, а щас снова компиллятор ругается, почему? #3
102 ошибки(
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
11.04.2013, 18:28     ребят, код работал, а щас снова компиллятор ругается, почему? #4
вот у меня такой код
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <stdlib.h>
 
using namespace std;
 
int main ()
{
double Ito1,O1,O2,O3,O4,O5,i1,S = 0,i2,R4,i0,t1,t2,n,h,Qt,Q,t[105],k[105],ILP,IPP,ICP,ITR,S1,S2,IPR; // S = 0
int i;
R4=1.88;
Ito1=3.346*pow(10.0,-7.0); // исправил
Qt=R4*Ito1;
cout<<"Vvedite n, t1, t2";
cout<<"\n";
cin>>n>>t1>>t2;
h=(t2-t1)/n;
printf("%4.5f",h);
cout<<"\n";
cout<<"Tochnoe kolichestvo teploti= ";
printf("%4.7f",Qt);
cout<<"\n";
cout<<"Metod levux pryamougolnikov";
for(i=0;i<n;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=0;i<n;i++)
{
S=S+k[i];
}
ILP=S*h;
Q=R4*ILP;
O1=Ito1-ILP;
cout<<"\n";
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod pravux pryamougolnikov";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n+1;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n+1;i++)
{
S=S+k[i];
}
IPP=S*h;
Q=R4*IPP;
O2=Ito1-IPP;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod centralnux pryamougolnikov";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n+1;i++)
{
t[i]=t1+i*h-0.5*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n+1;i++)
{
S=S+k[i];
}
ICP=S*h;
Q=R4*ICP;
O3=Ito1-ICP;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod trapeciy";
cout<<"\n";
Q=0;
t1=t1;
S=0;
for(i=1;i<n;i++)
{
t[i]=t1+i*h;
if(t[i]<0.0018) k[i]=pow((-1140.5*pow(t[i],2)-0.9443*t[i]+0.0037),2);
else if(t[i]>0.0035) k[i]=pow((1416.5*pow(t[i],2)-2.1289*t[i]+0.0031),2);
else k[i]=pow((2069.4*pow(t[i],2)-6.55*t[i]+0.0044),2);
}
for(i=1;i<n;i++)
{
S=S+k[i];
}
ITR=h*(0.5*(k[0]+k[(int)n])+S); // исправил
Q=R4*ITR;
O4=Ito1-ITR;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Metod parabol";
cout<<"\n";
Q=0;
t1=t1;
S=0;
S1=0;
S2=0;
for(i=1;i<n;i=i+2)
{
S1=S1+k[i];}
for(i=2;i<n-1;i=i+2)
{
S2=S2+k[i];
}
IPR=h*(k[0]+k[(int)n]+4*S1+2*S2)/3; // исправил, т.к. индекс должен быть целым числом
Q=IPR*R4;
O5=Ito1-IPR;
printf("Q=%4.7f",Q);
cout<<"\n";
cout<<"Oshibki"<<"\n";
cout<<"L "<<O1<<"\n"<<"P "<<O2<<"\n"<<"S "<<O3<<"\n"<<"TR "<<O4<<"\n"<<"P "<<O5;
system("pause");
return 0;
}
компилируется gcc4.6.2 linux
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 18:30  [ТС]     ребят, код работал, а щас снова компиллятор ругается, почему? #5
а какой у вас компиллятор? у меня VS C++ 2008, v.9.0
может мне тогда стоит сменить его
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12289 / 6976 / 784
Регистрация: 27.09.2012
Сообщений: 17,287
Записей в блоге: 2
Завершенные тесты: 1
11.04.2013, 18:46     ребят, код работал, а щас снова компиллятор ругается, почему? #6
VS 2012 - ошибок нет
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 19:48  [ТС]     ребят, код работал, а щас снова компиллятор ругается, почему? #7
спасибо всем за отзывчивость..
поставил Dev - C++ все заработало, не знаю чего кружит VSка.. создавал все пустые проекты как и раньше..

_____

а у вас времени не найдется немного?

а то мне бы еще разобраться в коде в этом...

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

мне нужно написать программу для вычисления интеграла этими же методами (левых правых центральных прямоугольников, методом трапеций и методом парабол(Симпсона) )

_________

вот задание:
подынтегральная ф-я: 1/( sin2(x/3) )
шаг: П/16
точность: 0.001
отрезок: [ П/4;3П/4 ]
__
спасибо!
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
11.04.2013, 19:58     ребят, код работал, а щас снова компиллятор ругается, почему? #8
а у вас времени не найдется немного?

а то мне бы еще разобраться в коде в этом...

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

мне нужно написать программу для вычисления интеграла этими же методами (левых правых центральных прямоугольников, методом трапеций и методом парабол(Симпсона) )

_________

вот задание:
подынтегральная ф-я: 1/( sin2(x/3) )
шаг: П/16
точность: 0.001
отрезок: [ П/4;3П/4 ]
тебе честно? в той программе целая каша, лучше даже не начинай в ней разбираться, проще написать с нуля ибо все описанные тобой методы - школьная программа
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 20:37  [ТС]     ребят, код работал, а щас снова компиллятор ругается, почему? #9
а подскажите тогда пожалуйста на примере одного метода (центральных прямоугольников)
только код по-моему не рабочий (по крайней мере в VSке не прокатил и + я еще не понимаю ничего почти, писал только простейшие программы без double F(double x) {return(x);} а этот код нашел в методичке.
_______

вот код:

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
#include <iostream.h>
#include <math.h>
double F(double x)
{return(x);}
int main()
{double I0,I1,h,eps,a,b,x;
int n,j;
cout<<"Vvefite a i b"<<endl;
cin>>a>>b;
cout<<"Vvedite cislo razbieniy [a,b]"<<endl;
cin>>n;
cout<<"Vvedite tochnost"<<endl;
cin>>eps;
I0=1E+10;
I1=0;
while(fabs(I1-I0)>eps)
{ I0=I1;
h=(b-a)/n;
I1=0;
for(j=0;j<n;j++)
{x=a+(j+0.5)*h;
I1=I1+F(x)*h;
}
n=2*n;
}
cout<<"Otvet I="<<I1<<endl;
system("pause");
return 0;
}

_____

double F(double x)
{return(x);} - вот в этом моменте не понимаю ничего, помогите пожалуйста...
________

вместо "х" в {return(x);} нужно написать подъинтегральную функцию?? ( 1/ ( pow ( sin(x/3),2 ) )
Platina
 Аватар для Platina
4 / 4 / 0
Регистрация: 09.04.2013
Сообщений: 38
11.04.2013, 20:52     ребят, код работал, а щас снова компиллятор ругается, почему? #10
return (x) - возвращает значение х;
если написать выражение, к примеру, return (1), то функция вернет результат 1.
если написать выражение, к примеру, return (1/(pow(sin(x/3),2)), то функция вернет значение данного выражения.

I1=I1+F(x)*h;
В этой строке у вас происходит вызов функции F(x).
maksimka95
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 22
11.04.2013, 21:09  [ТС]     ребят, код работал, а щас снова компиллятор ругается, почему? #11
спасибо за отзывчивость, но я что-то не совсем понимаю куда мне вставить подынтегральную функцию..

Добавлено через 2 минуты
спасибо за отзывчивость, но я что-т не понимаю куда мне вставить подынтегральную функцию..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2013, 21:17     ребят, код работал, а щас снова компиллятор ругается, почему?
Еще ссылки по теме:

Почему ругается на else? C++
C++ Почему ругается в friend функции
C++ Почему компилятор ругается на математическую функцию?
C++ Dev C++ ругается на GLvoid почему?
Почему компиллятор выдает ошибку и не хочет что бы функция принимала 2 переменных C++

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

Или воспользуйтесь поиском по форуму:
Platina
 Аватар для Platina
4 / 4 / 0
Регистрация: 09.04.2013
Сообщений: 38
11.04.2013, 21:17     ребят, код работал, а щас снова компиллятор ругается, почему? #12
C++
1
2
3
4
double F (double x)
{
return (1/(pow(sin(x/3),2)));
}
Yandex
Объявления
11.04.2013, 21:17     ребят, код работал, а щас снова компиллятор ругается, почему?
Ответ Создать тему
Опции темы

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