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

Error LNK2019 не знаю как исправить - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести программы с Pascal на С++ http://www.cyberforum.ru/cpp-beginners/thread890721.html
Здравствуйте! Я новичок в сфере С++. Прошу Вас о помощи, в переводе программы на другой язык программирования. Интерполяционный многочлен Лагранжа program labrab13; var x, p, S, t : real; a : real; mass : array of real;
C++ Поиск кратчайшего пути в матрице через рекурсию Есть задача: найти кратчайший путь в матрице,представляющий из себя сумму значений ее элементов. Матрица размера 10х10. Я реализовал сам поиск следующим образом: bool IsAvailable(int x,int y,int size) { if((x >= 0) && (x < size) && (y >= 0) && (y < size)) return true; return false; } http://www.cyberforum.ru/cpp-beginners/thread890694.html
Работа со структурами C++
Только изучаю С++ (раньше довольно неплохо программил на Делфи) и столкнулся с вопросом. Допустим есть две структуры: struct ABC_CONT_STATE { BYTE Symb, Fr; struct ABC_CONT* Successor; } _PACK_ATTR;
C++ В массиве, сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
в общем:запара с программированием в университете.удалились с сетевого диска все программы.восстанавливать времени нет.Помогите пожалуйста. вот задание: 5. В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
C++ В матрице А[N, N], сформированной случайным образом, обнулить все элементы, превосходящие среднее арифметическое элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread890668.html
в общем:запара с программированием в университете.удалились с сетевого диска все программы.восстанавливать времени нет.Помогите пожалуйста. вот задание: 16. В матрице А, сформированной случайным образом, обнулить все элементы, превосходящие среднее арифметическое элементов матрицы.(Матрицы)
C++ Странный цикл for С++ Добрый день, ув. форумчане! Перехожу сейчас с Делфи на С++ и разбираюсь в сложнястях синтаксиса С++. Непонятно, что означает такая конструкция цикла: for ( ; ;) Я подумал, что это бесконечный цикл, но прав ли я? Заранее спасибо всем за ответ. подробнее

Показать сообщение отдельно
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
04.06.2013, 18:01  [ТС]     Error LNK2019 не знаю как исправить
Да, есть. Вот он:
complex.cpp
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
#include "complex.h"
 
ostream& operator<<(ostream& __out1, const complex& __z2)
{
    __out1 << '(' << real(__z2) 
          << ((imag(__z2) < 0)?" - i":" + i") << fabs(imag(__z2)) << ')';
    return __out1;
}
 
istream& operator>>(istream& __in1, complex& __z2)
{
    double __re_val1, __re_val2;
    __in1 >> __re_val1 >> __re_val2;
    __z2 = complex(__re_val1, __re_val2);
    return __in1;
}
 
ostream& operator <(ostream& __out1, const complex& __z2)
{
    char*a;
    double Chislo;
    
    Chislo = real(__z2);
    a = (char*)&Chislo;
 
    __out1.write(a,sizeof(Chislo));
    
 
    Chislo = imag(__z2);
    a = (char*)&Chislo;
    
    __out1.write(a,sizeof(Chislo));
    
    
    return __out1;
}
 
istream& operator >(istream& __in1, complex& __z2)
{
 
 
    char * a;
    double __re_val1, __re_val2;
    
    
    a = (char*)&__re_val1;
 
    
    __in1.read(a,sizeof(__re_val1));
    
    
    a = (char*)&__re_val2;
 
 
    
    
    __in1.read(a,sizeof(__re_val2));
 
    __z2 = complex(__re_val1, __re_val2);
    return __in1;
}
complex.h
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
// Complex number library
 
#ifndef __cplusplus
#error Must use C++ for the type complex.
#endif
 
#ifndef _COMPLEX_H
#define _COMPLEX_H
 
#if !defined( __MATH_H )
#include <math.h>
/* Defined for compatibility with foolish Microsoft math.h
  Definition:
  #define complex _complex
  presents in math.h. It's really fool, isn't it?
*/
 
 
#undef complex
#define complex complex
#endif
 
const double pi = 3.1415926535897932384626433832795;
 
class complex {
 
public:
  // constructors
    complex(double __re_val, double __im_val=0);
    complex();
 
 //Overloaded Operator Functions
  //  complex & operator=(complex  &);
    //complex & operator=(double);
 
  // complex manipulations
  friend double real(const complex&);  // the real part
  friend double imag(const complex&);  // the imaginary part
  friend complex conj(const complex&); // the complex conjugate
  friend double norm(const complex&);  // the square of the magnitude
  friend double arg(const complex&);  // the angle in the plane
    
  // Overloaded ANSI C math functions
  friend double  abs(const complex&);
  friend complex cos(const complex&);
  friend complex exp(const complex&);
  friend complex sin(const complex&);
  friend complex log(const complex&);
  friend complex sqrt(const complex&);
 
  // Binary Operator Functions
  friend complex operator+(const complex&, const complex&);
  friend complex operator+(double, const complex&);
  friend complex operator+(const complex&, double);
  friend complex operator-(const complex&, const complex&);
  friend complex operator-(double, const complex&);
  friend complex operator-(const complex&, double);
  friend complex operator*(const complex&, const complex&);
  friend complex operator*(const complex&, double);
  friend complex operator*(double, const complex&);
  friend complex operator/(const complex&, const complex&);
  friend complex operator/(const complex&, double);
  friend complex operator/(double, const complex&);
  friend int operator==(const complex&, const complex&);
  friend int operator!=(const complex&, const complex&);
  
  const complex& operator=(const complex&);
  const complex& operator=(const double&);
  
  const complex& operator+=(const complex&);
  const complex& operator+=(double);
  const complex& operator-=(const complex&);
  const complex& operator-=(double);
  const complex& operator*=(const complex&);
  const complex& operator*=(double);
  const complex& operator/=(const complex&);
  const complex& operator/=(double);
  complex operator+();
  complex operator-();
 
// Implementation
private:
    double re, im;
};
 
// i constant
const complex _i = complex(0, 1);
 
// Inline complex functions
 
inline complex::complex(double __re_val, double __im_val)
{
  re = __re_val;
  im = __im_val;
}
 
inline complex::complex()
{
/* if you want your complex numbers initialized ...
   Yes, I want it! */ 
  re = im = 0;
 
}
 
/*
inline complex & complex::operator=(complex  & __z2)
{
    re = __z2.re;
    im = __z2.im;
    return *this;
}
inline complex & complex::operator=(double __re_val2)
{
    re = __re_val2;
    im=0.0;
    return *this;
}
*/
 
inline complex complex::operator+()
{
  return *this;
}
 
inline complex complex::operator-()
{
  return complex(-re, -im);
}
 
 
// Definitions of compound-assignment operator member functions
 
inline const complex& complex::operator=(const complex& __z2)
{
  re = __z2.re;
  im = __z2.im;
  return *this;
}
 
inline const complex& complex::operator=(const double& __re_val2)
{
  re = __re_val2;
  im = 0.0;
  return *this;
}
 
inline const complex& complex::operator+=(const complex& __z2)
{
  re += __z2.re;
  im += __z2.im;
  return *this;
}
 
inline const complex& complex::operator+=(double __re_val2)
{
  re += __re_val2;
  return *this;
}
 
inline const complex& complex::operator-=(const complex& __z2)
{
  re -= __z2.re;
  im -= __z2.im;
  return *this;
}
 
inline const complex& complex::operator-=(double __re_val2)
{
  re -= __re_val2;
  return *this;
}
 
inline const complex& complex::operator*=(const complex& __z2)
{
    double __re_val1 = re;
    re = __re_val1*__z2.re - im*__z2.im;
    im = __re_val1*__z2.im + im*__z2.re;
    return *this;
}
 
inline const complex& complex::operator*=(double __re_val2)
{
  re *= __re_val2;
  im *= __re_val2;
  return *this;
}
 
inline const complex& complex::operator/=(double __re_val2)
{
  re /= __re_val2;
  im /= __re_val2;
  return *this;
}
 
inline const complex& complex::operator/=(const complex& __z2)
{
    double __norm = __z2.re*__z2.re + __z2.im*__z2.im;
    double __re_val1 = re;
    re = (__re_val1*__z2.re + im*__z2.im)/__norm;
    im = (im*__z2.re - __re_val1*__z2.im)/__norm;
    return *this;
}
 
 
// Definitions of non-member complex functions
 
inline double real(const complex& __z)
{
  return __z.re;
}
 
inline double imag(const complex& __z)
{
  return __z.im;
}
 
inline complex conj(const complex& __z)
{
  return complex(__z.re, -__z.im);
}
 
inline double norm(const complex& __z)
{
    return abs(__z);
}
 
inline double arg(const complex& __z)
{
    if (0.0 == __z.re + abs(__z))
        return pi;
 
    return 2.0*atan(__z.im/(__z.re + abs(__z)));
 
}
 
// Definitions of non-member binary operator functions
 
inline complex operator+(const complex& __z1, const complex& __z2)
{
  return complex(__z1.re + __z2.re, __z1.im + __z2.im);
}
 
inline complex operator+(double __re_val1, const complex& __z2)
{
  return complex(__re_val1 + __z2.re, __z2.im);
}
 
inline complex operator+(const complex& __z1, double __re_val2)
{
  return complex(__z1.re + __re_val2, __z1.im);
}
 
inline complex operator-(const complex& __z1, const complex& __z2)
{
  return complex(__z1.re - __z2.re, __z1.im - __z2.im);
}
 
inline complex operator-(double __re_val1, const complex& __z2)
{
  return complex(__re_val1 - __z2.re, -__z2.im);
}
 
inline complex operator-(const complex& __z1, double __re_val2)
{
  return complex(__z1.re - __re_val2, __z1.im);
}
 
inline complex operator*(const complex& __z1, double __re_val2)
{
  return complex(__z1.re*__re_val2, __z1.im*__re_val2);
}
 
inline complex operator*(double __re_val1, const complex& __z2)
{
  return complex(__z2.re*__re_val1, __z2.im*__re_val1);
}
 
inline complex operator*(const complex& __z1, const complex& __z2)
{
    return complex(__z1.re*__z2.re - __z1.im*__z2.im,
                   __z1.re*__z2.im + __z1.im*__z2.re);
}
 
inline complex operator/(const complex& __z1, double __re_val2)
{
  return complex(__z1.re/__re_val2, __z1.im/__re_val2);
}
 
inline complex operator/(const complex& __z1, const complex& __z2)
{
    double __norm = __z2.re*__z2.re + __z2.im*__z2.im;
    return complex((__z1.re*__z2.re + __z1.im*__z2.im)/__norm,
                   (__z1.im*__z2.re - __z1.re*__z2.im)/__norm);
}
 
inline complex operator/(double __re_val_1, const complex& __z2)
{
    double __norm = __z2.re*__z2.re + __z2.im*__z2.im;
    return complex(__re_val_1*__z2.re/__norm, 
                   - __re_val_1*__z2.im/__norm);
}
                     
inline int operator==(const complex& __z1, const complex& __z2)
{
  return __z1.re == __z2.re && __z1.im == __z2.im;
}
 
inline int operator!=(const complex& __z1, const complex& __z2)
{
  return __z1.re != __z2.re || __z1.im != __z2.im;
}
 
 
// Overloaded ANSI C math functions
inline double abs(const complex& __z)
{
    return sqrt(__z.re*__z.re + __z.im*__z.im);
}
 
inline complex cos(const complex& __z)
{
    double __e_im1 = exp(__z.im) / 2,
           __e_im2 = exp(-__z.im) / 2;
    return complex(cos(__z.re)*(__e_im1 + __e_im2),
                   sin(__z.re)*(__e_im2 - __e_im1));
}
 
inline complex sin(const complex& __z)
{
    double __e_im1 = exp(__z.im) / 2,
           __e_im2 = exp(-__z.im) / 2;
    return complex(sin(__z.re)*(-__e_im1 - __e_im2),
                   cos(__z.re)*(__e_im1 - __e_im2));
}
 
inline complex exp(const complex& __z)
{
    double __exp = exp(__z.re);
    return complex(__exp*cos(__z.im), __exp*sin(__z.im));
}
 
inline complex log(const complex& __z)
{
    return complex( log(abs(__z)), arg(__z) );
}
 
 
 
 
 
inline complex sqrt(const complex& __z)
{
    double cAr,sAr;
    
    cAr = cos(arg(__z)/2.0);
    if (cAr <pow(10.0,-15.0))
        cAr = 0.0;
 
    sAr = sin(arg(__z)/2.0);
    if (sAr <pow(10.0,-15.0))
        sAr = 0.0;
 
    return complex(sqrt(abs(__z))*cAr, sqrt(abs(__z))*sAr);
}
 
// Complex stream I/O
 
#include <fstream>
#include <iostream>
using namespace std;
 
ostream& operator<<(ostream&, const complex&);
istream& operator>>(istream&, complex&);
 
ostream & operator <(ostream&, const complex&);
istream & operator >(istream&, complex&);
 
#endif // __COMPLEX_H
 
Текущее время: 12:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru