Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Xin một ví dụ về các phép tính với số phức

  1. #1
    Ngày gia nhập
    09 2008
    Nơi ở
    Heaven
    Bài viết
    10

    Angry Xin một ví dụ về các phép tính với số phức

    Bạn nào biết xin cho tôi một ví dụ về tính toán với số phức.

    Chương trình này tôi chạy bị lỗi,nhờ các bạn giải thích giúp với.Cảm ơn nhiều.

    Code:
    /* Program 2.17 Working with complex numbers
    #include <complex.h>
    #include <stdio.h>
    int main(void)
    {
    double complex cx = 1.0 + 3.0*I;
    double complex cy = 1.0 - 4.0*I;
    printf("Working with complex numbers:");
    printf("\nStarting values: cx=%.2f%+.2ficy=%.2f%+.2fi",creal(cx),cimag(cx), creal(cy), cimag(cy));
    double complex sum = cx+cy;
    printf("\n\nThe sum cx + cy = %.2f%+.2fi",
    creal(sum),cimag(sum));
    double complex difference = cx-cy;
    printf("\n\nThe difference cx - cy = %.2f%+.2fi",
    creal(difference),cimag(difference));
    double complex product = cx*cy;
    printf("\n\nThe product cx * cy = %.2f%+.2fi",
    creal(product),cimag(product));
    double complex quotient = cx/cy;
    printf("\n\nThe quotient cx / cy = %.2f%+.2fi",
    creal(quotient),cimag(quotient));
    double complex conjugate = conj(cx);
    printf("\n\nThe conjugate of cx = %.2f%+.2fi",
    creal(conjugate) ,cimag(conjugate));
    return 0;
    }
    Mod ơi tôi đang bí đó,có gì nhắc giùm tôi vi phạm điều gì để còn sửa,không nói gì hết,làm liều gởi lại nhưng đang run.
    Có thể bạn nói tôi bướng bỉnh.Nhưng tôi cho là mình kiên định.
    http://vanphamvn.blogspot.com

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Tui chưa bao giờ dùng complex trong C, nhưng trong C++ có std::complex< T > dùng khá safe.
    C++ Code:
    1. #include <iostream>
    2. #include <complex>
    3.  
    4. int main()
    5. {
    6.     std::cout << std::complex<double>(1.0, 5.0) << std::endl;
    7.  
    8.     std::complex<double>a[2];
    9.     a[0] = std::complex<double>(2.0, 4.0);
    10.     a[1] = std::complex<double>(3.0, 3.0);
    11.  
    12.     std::cout << a[0] << '\n' << a[1] << std::endl;
    13.  
    14.     std::complex<double> b;
    15.     b = std::complex<double>(4.0, 2.0);
    16.     std::cout << b << std::endl;
    17.  
    18.     return 0;
    19. }
    Toàn bộ class thì ở đây :
    http://www.aoc.nrao.edu/~tjuerges/AL..._1complex.html

  3. #3
    Ngày gia nhập
    09 2007
    Bài viết
    724

    1 - Bạn xem lại nội qui của diễn đàn tại đây: http://forums.congdongcviet.com/showthread.php?t=15
    bạn cứ làm theo qui định thì chẳng ai move bài của bạn đi đâu

    2 - Bạn mô tả lỗi như thế nào để mọi người biết chứ đọc đống code của bạn không có thụt vào đầu dòng, viết tất cả cùng cấp khó đọc lắm .

  4. #4
    Ngày gia nhập
    09 2008
    Nơi ở
    Heaven
    Bài viết
    10

    Cảm ơn bạn rox_rook,nhưng đang học C cho chắc đã,chưa học C++ được.

    To: zkday2686,tôi bị lỗi syntax error ngay dòng,không biết làm sao hết
    Code:
    double complex cx = 1.0 + 3.0*I;
    double complex cy = 1.0 - 4.0*I;
    Cảm ơn trước nhe.
    Có thể bạn nói tôi bướng bỉnh.Nhưng tôi cho là mình kiên định.
    http://vanphamvn.blogspot.com

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    complex đã là một kiểu rồi, sao bạn lại khai báo double complex ? Như vậy là lỗi chắc rồi. Còn nữa 3.0*I, 4.0*I, biến I chưa khai báo -> lỗi nữa.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    09 2007
    Bài viết
    724

    Mặc định Xin một ví dụ về các phép tính với số phức

    Chào bạn!
    Theo như mình biết thì trong TC complex là một struct nó được định nghĩa trong thư viện math.h
    nó được định nghĩa như sau:
    C Code:
    1. struct complex     
    2. {
    3.     double  x, y;
    4. };

    bạn thử khai báo như sau thử xem sao. tui không có TC hay một compiler nào đó chuẩn của C nên tui không thể biết là nó có báo lỗi hay không.
    C Code:
    1. struct complex ca;
    2. ca.x = 10;
    3. ca.y = 12;

    để biết thêm thông tin về nó bạn có thể làm Ctrl+F1 để biết thêm chi tiết.
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 18-10-2008 lúc 09:50 PM.

  7. #7
    Ngày gia nhập
    09 2008
    Nơi ở
    Heaven
    Bài viết
    10

    Trích dẫn Nguyên bản được gửi bởi zkday2686 Xem bài viết
    bạn thử khai báo như sau thử xem sao. tui không có TC hay một compiler nào đó chuẩn của C nên tui không thể biết là nó có báo lỗi hay không.
    C Code:
    1. struct complex ca;
    2. ca.x = 10;
    3. ca.y = 12;

    để biết thêm thông tin về nó bạn có thể làm Ctrl+F1 để biết thêm chi tiết.
    Cám ơn bạn.Mình thử rồi,nhưng nó báo lỗi.nếu báo biến theo cách này thì TC không hiểu I là gì,và thêm một lỗi nữa là "x(y) is not a member of complex" .
    Có thể bạn nói tôi bướng bỉnh.Nhưng tôi cho là mình kiên định.
    http://vanphamvn.blogspot.com

  8. #8
    Ngày gia nhập
    09 2008
    Nơi ở
    Heaven
    Bài viết
    10

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    complex đã là một kiểu rồi, sao bạn lại khai báo double complex ? Như vậy là lỗi chắc rồi. Còn nữa 3.0*I, 4.0*I, biến I chưa khai báo -> lỗi nữa.
    Chào bạn.Đoạn code này mình đọc trong sách Beginning C:From Novice to Pro.
    Nhưng chạy nó không báo lỗi không xác định I mà là declaration syntax error.
    Có thể bạn nói tôi bướng bỉnh.Nhưng tôi cho là mình kiên định.
    http://vanphamvn.blogspot.com

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn