Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / ? работа с комплексными числами в С / 4 сообщений из 4, страница 1 из 1
14.11.2006, 15:16
    #34127522
VictoryS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
? работа с комплексными числами в С
Если кто работал в С с коплексными числами - покажите пример.
Заранее спасибо
...
Рейтинг: 0 / 0
14.11.2006, 15:45
    #34127636
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
? работа с комплексными числами в С
ну тут зависит от компилятора. Где-то есть встореная поддержка, где-то нет. Если в вашем компиляторе нет, объявляете класс, переопределяете операции и вперед. А можно поискать в инете готовый класс.
...
Рейтинг: 0 / 0
14.11.2006, 15:50
    #34127663
Barlone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
? работа с комплексными числами в С
Ой, да ведь complex есть в stl
...
Рейтинг: 0 / 0
24.11.2006, 10:45
    #34152549
VictoryS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
? работа с комплексными числами в С
Если кому интересно то работает так:

#include <math.h>
#include <stdio.h>
#include <conio.h>

void cMult(double re1,double im1,double re2,double im2,double *rez1,double *rez2);
void cDivi(double re1,double im1,double re2,double im2,double *rez1,double *rez2);
void cMinu(double re1,double im1,double re2,double im2,double *rez1,double *rez2);
void cAdd (double re1,double im1,double re2,double im2,double *rez1,double *rez2);


void main( void )
{
struct _complex matr[3][4],prom[3][4],x[3],C,D;
struct _complex nul = {0.0,0.0};
struct _complex one = {1.0,0.0};
double r1,r2;
/****************************************************/
cAdd (nul.x,nul.y,one.x,one.y,&r1,&r2);
D.x=r1;
D.y=r2;
printf("D= (%6.3f ; %6.3f)\n",D);
C=D;
printf("C= (%6.3f ; %6.3f)\n",C);
/*****/
printf("\n Cancel -> Press any Kay");
getch();
}//End main()

void cMult(re1,im1,re2,im2,rez1,rez2)
double re1,im1,re2,im2,*rez1,*rez2;
{// Complex multiplier
*rez1 = re1*re2-im1*im2;
*rez2 = re1*im2+re2*im1;
}//End cMult()


void cDivi(re1,im1,re2,im2,rez1,rez2)
double re1,im1,re2,im2,*rez1,*rez2;
{// Complex division
double q;
q=re2*re2+im2*im2;
*rez1 = (re1*re2+im1*im2)/q;
*rez2 = (im1*re2+re1*im2)/q;
}//End cDivi()


void cMinu(re1,im1,re2,im2,rez1,rez2)
double re1,im1,re2,im2,*rez1,*rez2;
{// Complex minus
*rez1 = re1-re2;
*rez2 = im1-im2;
}//End cMinu()


void cAdd (re1,im1,re2,im2,rez1,rez2)
double re1,im1,re2,im2,*rez1,*rez2;
{// Complex add
*rez1 = re1+re2;
*rez2 = im1+im2;
}//End cAdd()
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / ? работа с комплексными числами в С / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]