@Abn30

Как добавить мнимую единицу на языке Си?

Написал небольшую программку с комплексными числами на языке Си, но не могу понять, как добавить мнимую единицу? Вот небольшая часть программы:
typedef struct {
double re, im;
}complex_t;

complex_t ComplexAdd(complex_t z1,complex_t z2){
complex_t res;
res.re = z1.re + z2.re;
res.im =z1.im + z2.im;
return res;
}
int main(){
complex_t z1,z2;
z1.re=2;z1.im =5;
z2.re=3;z2.im =1;
ComplexAdd(z1,z2);
return 0;
}

Но вот всё ведь сложится, но мнимой то единицы нет.
Как её добавить?
  • Вопрос задан
  • 876 просмотров
Пригласить эксперта
Ответы на вопрос 2
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
как добавить мнимую единицу?

complex_t I = {0., 1.};
Ответ написан
Комментировать
@res2001
Developer, ex-admin
В стандарте уже есть комплексные числа:
https://en.cppreference.com/w/c/language/arithmeti...
Почему их не используете?

Правда не все компиляторы их полноценно поддерживают.
Примерно год назад пытался подружить с микросовтовским компилятором код со стандартными комплексными числами, нормально собирающийся gcc. Не удалось, пришлось делать свои костыли, но в целом это было не трудно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы