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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр. http://www.cyberforum.ru/cpp-beginners/thread571773.html
Здравствуйте помогите написать программу. Дано действитёльное число х. Получить целую часть *) числа х; затем — число х, округленное до ближайшего целого; затем — число х без дробных цифр. Целой частью числа х, обозначаемой , называется наибольшее целое, не превосходящее х; так, = 3, = 3, = 4, = 3
C++ Комментрирование кода программы не могли бы вы объяснить каждую строчку программы #include <iostream> using namespace std; int main() { char str; int count = 1; http://www.cyberforum.ru/cpp-beginners/thread571769.html
C++ Что значит это условие
Вот собственно код: if ( ( words = (char**)realloc(words, sizeof(char*) * (cnt + 1)) ) == NULL )
Оператор =. Не могу найти объяснение ситуации C++
вот этот код работает безошибочно и выдаёт всегда верные результаты qDebug() << "oX = " << pixelToRealX(zoomRect.x() + ( zoomRect.width() < 0 ) * zoomRect.width()); qDebug() << "oX = " << pixelToRealX(zoomRect.x() + ( zoomRect.width() > 0 ) * zoomRect.width()); GLfloat cnt = pixelToRealX(zoomRect.x() + ( zoomRect.width() > 0 ) * zoomRect.width()); ...
C++ подробно объяснить каждое действие программы http://www.cyberforum.ru/cpp-beginners/thread571733.html
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() { fstream f; f.open("text.txt", ios::in); if (!f.is_open())
C++ Проверить является ли слово палиндромом Символьная строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом). есть наброски кода: void main() { int i,j=0; string s,s2; cout<<"vvedite slovo\n"; getline(cin,s); for (i=s.length()-1;i>=0;i--) s2=s; подробнее

Показать сообщение отдельно
ser4ega
27 / 27 / 3
Регистрация: 15.11.2009
Сообщений: 143
11.05.2012, 23:33     Не могу понять в каком месте ошибка. Описание класса вектор.
Вроде часть поправил. С функцией не разберусь никак (
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <sys/types.h>
#include <iostream.h>
const int N = 4;
class vector{
   public:
   float P[N];
   void show(){for (int i = 0; i<N; i++) cout<<P[i]<<"; ";cout<<endl;}
   vector(){
       int i;
       for (i = 0; i<N; i++)
       {
       P[i] = 0;
       }
   }
   vector(float a, float b, float c, float d){P[0]=a;P[1]=b;P[2]=c;P[3]=d;}
   vector(float aP[N]){
       int i;
       for (i = 0; i<N; i++)
       {
       P[i] = aP[i];
       }
   }
vector operator=(vector a){
       int i;
       for (i = 0; i<N; i++)
       {
       P[i] = a.P[i];
       }  
       }   
vector(vector& a){
       int i;
       for (i = 0; i<N; i++)
       {
       P[i] = a.P[i];
       }  
       }
 
vector operator +(vector b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = P[i] + b.P[i];
       }
   return(c);
}
vector operator-(vector& b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = P[i] - b.P[i];
       }
   return(c);
}
vector operator *(float a){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       P[i] = a * P[i];
       }
   return(c);
}
 
/*vector operator *(vector& b, float a){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a * b.P[i];
       }
   return(c);
}*/
 
vector operator /(float a){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       P[i] = P[i]/a;
       }
   return(c);
}
 
/*vector operator /(vector& b, float& a){
   vector c;
    int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a / b.P[i];
       }
   return(c);
}*/
 
 };
vector F(vector U, float t){
   vector res;
   int i, j;
   float A[N][N];
A[0][0] = 0; 
A[0][1] = 1;
A[0][2] = 2;
A[0][3] = 9;
A[1][0] = 5;
A[1][1] = 0;
A[1][2] = 0;
A[1][3] = 4;
A[2][0] = 8;
A[2][1] = 0;
A[2][2] = 0;
A[2][3] = 7;
A[3][0] = 3;
A[3][1] = 6;
A[3][3] = 0;
A[3][3] = 0;
 
     for (i = 0; i<N; i++)
               {
               res.P[i] = 0;
               for(j = 0; j<N; j++)
                   {
                   res.P[i] += A[i][j]*U.P[j];
                   }
                   }  
   return(res);
}
 
int main(){
   float t=0, dt = 0.1;
   vector ob1(1,2,3,4);
  ob1.show();
   float P[N];
   P[0] = 0; 
   P[1] = 0;
   P[2] = 1;  //Условие нормировки!!
   P[3] = 0;
   vector U(P);
   vector k1, k2, k3, k4;
   while(t <= 10){   /// Условие выхода
       k1 = F(U, t)*dt;
       k2 = F(U + 0.5*k1, t+0.5*dt)*dt;
       k3 = F(U + 0.5*k2, t+0.5*dt)*dt;
       k4 = F(U + k3, t+dt)*dt;
       U = U + 1.0/6.0 * (k1 + 2*k2 + 2*k3 + k4);
       t += dt;
      // printf("t = %f   P1 = %f  P2 = %f\n", t, U.P1, U.P2);
   }
    printf("t = %f   P1 = %f  P2 = %f P3 = %f\n", t, U.P[1], U.P[2], U.P[3]);
   scanf("%d", &P[1]);
   system("pause");
   return (0);
}
 
Текущее время: 11:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru