Форум программистов, компьютерный форум 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; подробнее

Показать сообщение отдельно
webgirl
Сообщений: n/a
11.05.2012, 22:34     Не могу понять в каком месте ошибка. Описание класса вектор.
Тип не совпадает, выдает ошибку в 137 строке, возможно неверно описан конструктор..

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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <sys/types.h>
const int N = 4;
class vector{
   public:
   float P[N];
   vector(){
       int i;
       for (i = 0; i<N; i++)
       {
       P[i] = 0;
       }
   }
   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& a, vector& b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a.P[i] + b.P[i];
       }
   return(c);
}
vector operator -(vector& a, vector& b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a.P[i] - b.P[i];
       }
   return(c);
}
vector operator *(float a, vector& b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a * b.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& b){
   vector c;
   int i;
       for (i = 0; i<N; i++)
       {
       c.P[i] = a / b.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 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;
   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]);
   return (0);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru