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

Đề tài: [ Solved ]Lưu trữ đa thức

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    20

    Smile [ Solved ]Lưu trữ đa thức

    Cho mình hỏi:để biểu diễn cộng,trừ,nhân 2 đa thức thì ngoài dùng mảng và dslk thì có thể dùng j khác không nhỉ?Mình đang làm bt lớn,mới chỉ nghĩ đc 2 cách trên.Mong các cậu chỉ bảo júp nha.

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

    Hai cách đó là phổ biến và dễ nhất rồi đó bạn. Dùng chuỗi thì rất khó xử lý.
    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.

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

    theo như code hôm trc cậu hướng dẫn thì mình nghĩ có thể chưa p là tối ưu đúng ko?Vi nếu cho đa thức có dạng x^100+1 thì biểu diễn thế nào?Cậu có thể gợi ý cho mình cách tối ưu hơn đc ko?
    code:
    C Code:
    1.         #include <stdio.h>
    2.  
    3. void main()
    4. {
    5.     int n;
    6.     double t;
    7.     double MangA[100];
    8.  
    9.     printf("Ban hay nhap bac cua da thuc A : ");
    10.     scanf("%d",&n);
    11.     for (int i=n;i>=0;i--)
    12.     {
    13.         printf("Nhap he so cua x^%d : ",i);
    14.         scanf("%lf",&t);
    15.         MangA[i] = t;
    16.     }
    17.    
    18.  
    19.    printf("\nDa thuc 1 cua ban la : ");
    20.      
    21.    for (i=n;i>=0;i--)
    22.     {
    23.         if (MangA[i] != 0)
    24.         {
    25.             if (MangA[i] > 0 && i < n)
    26.                 printf("+");
    27.  
    28.             if (i == 0)
    29.                 printf("%.0lf",MangA[i],i);
    30.             else
    31.                 printf("%.0lfx^%d",MangA[i],i);
    32.         }
    33.     }
    34.  
    35.     printf("=0\n");

    Lưu ý: bỏ code trong tag code nhé bạn!!!
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 06-10-2008 lúc 11:56 PM.

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

    x^100+1 thì biểu diễn là :
    C Code:
    1. MangA[100] = 1; // 1 * x ^ 100
    2. MangA[0] = 1; // 1 * x ^ 0
    3. // Còn các phần từ 1->99 đều bằng 0, tức là 0*x^99 + 0*x^98 + .....
    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.

  5. #5
    Ngày gia nhập
    04 2008
    Bài viết
    336

    @cutecat: hình như vấn đề của bạn ko phải là biểu diễn đa thức mà là phần nhập thì phải, bạn sợ phải nhập 100 rồi 0..0 (99 số 0) rồi nhập 1 thì sẽ lâu ?
    nếu thế thì bạn cho đọc từ file hoặc bắt buộc phải xử lý chuỗi mà xử lý chuỗi thì hơi xương :P
    code ra gió bão

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

    Mặc định [ Solved ]Lưu trữ đa thức

    @cutecat : bạn 6220119 nói đúng đó, nếu cho người dùng nhập đa thức như là một biểu thức thông thường thì xử lý chuỗi rất cực. Cách này thì tối ưu cho người dùng nhưng rất phiền hà cho người viết chương trình.
    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.

Các đề tài tương tự

  1. [ Solved ]Xây dựng lớp ĐỒTHI
    Gửi bởi bluesky_123078 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 09-11-2008, 09:34 AM
  2. [Solved] Hỏi về con trỏ
    Gửi bởi RedHatLinux9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-09-2008, 08:01 AM
  3. [ Solved ]Cấp phát động
    Gửi bởi demontaihack trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 07-09-2008, 08:23 PM
  4. [ Solved ]Cần hướng dẫn về bài tập màng!!
    Gửi bởi itthuyloi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 03-06-2008, 03:00 PM
  5. [ Solved ]Sắp xếp hai dãy số
    Gửi bởi thuchanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 20-04-2008, 11:47 PM

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