singlepost

Класс комплексных чисел и операции с ними – объясните код << На главную или назад  

Я начал учить си++. Класс комплексных чисел и операции с ними. Объясните, пожалуйста, построчено – что где происходит((.., чтобы мне что-то понять. Заранее, большое спасибо!!!

7 ответов в теме “Класс комплексных чисел и операции с ними – объясните код”

  1. 7
    Денис Боенсков ответил:

    А может он не знает, что такое "комплексные числа"? Тогда K&R не помогут

  2. 6
    Леонид Максимов ответил:

    по поводу последнего обращайтесь к книжке Кернигана и Ричи.

  3. 5
    Андрей Горбоконь ответил:

    Ну скорее Си, а не Си++
    И это никак не класс, а структура, с набором функций для работы с ней.
    По поводу объяснений – может стоит сначала попробовать изучить язык?

  4. 4
    Ewre Etwst ответил:

    "Объясните, пожалуйста, построчено – что где происходит"

  5. 3
    Евгений Гаврин ответил:

    А что ты знать хочешь?)

  6. 2
    Ewre Etwst ответил:

    #include "complex.h"
    #include <math.h>

    complex_t mul(complex_t x, complex_t y)
    {

    complex_t t;
    t.a=x.a*y.a-x.b*y.b;
    t.b=x.a*y.b+x.b*y.a;
    return t;
    }

    complex_t add(complex_t x, complex_t y)
    {

    complex_t t;
    t.a=x.a+y.a;
    t.b=x.b+y.b;
    return t;
    }

    complex_t d(complex_t x, complex_t y)
    {
    complex_t t;
    t.a=(x.a*y.a+x.b*y.b)/(y.a*y.a+y.b*y.b);
    t.b=(x.b*y.a-x.a*y.b)/(y.a*y.a+y.b*y.b);
    return t;
    }

    void eq(complex_t *x, complex_t y)
    {
    x->a=y.a;
    x->b=y.b;
    }

    complex_t neg(complex_t x)
    {
    complex_t t;
    t.a=-x.a;
    t.b=-x.b;
    return t;
    }
    double absval(complex_t x)
    {

    double r;
    r=sqrt((x.a)*(x.a)+(x.b)*(x.b));
    return r;
    }

  7. 1
    Ewre Etwst ответил:

    это h-файл
    #ifndef __COMPLEX_H__
    #define __COMPLEX_H__
    typedef struct
    {double a,b;}
    complex_t,*pcomplex_t;
    complex_t mul(complex_t x, complex_t y);
    complex_t add(complex_t x, complex_t y);
    complex_t d(complex_t x, complex_t y);
    void eq(complex_t *x, complex_t y);
    complex_t neg(complex_t x);
    double absval(complex_t x);
    #endif

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.