Hỏi & đáp lập trình

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi canh en buon, 23/5/07.

  1. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Chặn web đen có thể cài phần mềm chặn, hoặc đổi dns của nó trong file host.
    Hoạt động của máy thì đương nhiên là liên quan đến ram rồi :)), cụ thể hoạt động máy tính thế nào thì bạn nên tìm hiểu về kiến trúc máy tính.
    Chỉnh power thì bao giờ nó cũng tự save lại, nếu như bạn tắt máy đúng cách
     
  2. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    450
    vậy như thế nào là tắt máy đúng cách

    mình tắt như bình thường thôi mà
     
  3. nhatanh

    nhatanh Samus Aran the Bounty Hunter Lão Làng GVN

    Tham gia ngày:
    19/5/04
    Bài viết:
    6,455
    Nơi ở:
    Outworld
    nói vậy là sai rồi...
    HDD chỉ là nơi lưu trữ dữ liệu của game, còn cái đích thực chạy game là processor, không gian mà game làm việc là RAM, ngoài ra chất lượng còn phụ thuộc vào GPU nữa, GPU tốt thì frame cao, khung hình sẽ ko bị giật, cảm giác chơi sẽ mượt hơn;))
    còn tốc độ của HDD là tốc độ access dữ liệu, cái này theo tớ biết là đã fixed với mỗi HDD rồi, có lưu trữ bao nhiêu vào HDD đi nữa thì HDD vẫn quay từng ấy vòng một phút, và bus nó vẫn transfer dữ liệu với tốc độ cho phép không thay đổi thôi...
    câu này thì đúng quá rồi, chuẩn chuẩn, tuy nhiên để ước lượng tương đối thì dùng 2 cái này cũng được;))
    và so sánh hiệu năng 2 máy, tại sao lại không thử dùng 1 soft benchmark đi, cách này là chính xác nhất với trình độ không chuyên của mình:'> chứ nói mồm không thể chuẩn được, chỉ tương đối thôi!
     
  4. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Bạn ấy đang nói là load game.
    Mà load game thì tốc độ ổ cứng thường sẽ là nút cổ chai, trừ khi máy cấu hình quá thấp

    Fixed ko có nghĩa là lúc nào nó cũng thế được bạn ạ, nếu ko thì người ta test ổ cứng làm gì. Các ổ cứng khác nhau, tốc độ khác nhau ( nhất là hàng mới với hàng cũ)

    Nếu đang xét trong game thì card màn hình mới thường là nút cổ chai, xét CPU làm chi
     
  5. nhatanh

    nhatanh Samus Aran the Bounty Hunter Lão Làng GVN

    Tham gia ngày:
    19/5/04
    Bài viết:
    6,455
    Nơi ở:
    Outworld
    cứ benchmark thử 2 máy giống nhau với 2 HDD khác nhau bằng cùng 1 game, rồi lại lấy 2 HDD giống nhau benchmark trên 2 máy khác nhau, thế là biết ngay ấy mà:'>
     
  6. kiennghe

    kiennghe Youtube Master Race

    Tham gia ngày:
    23/12/08
    Bài viết:
    19
    Các anh ơi giúp em bài này với.Em đang học C.
    -Tiền Điện định mức: 50KW-giá 230đ/KW.
    -Vượt định mức: D=X-50 :
    +Nếu D<=50KW thì giá la 480đ/KW.
    +Nếu 50<D<=100 giá la 700đ/KW.
    +Nếu D>100 thì giá là 900đ/KW.
    a) Viết hàm "Tiền Điện" để tính tiền điện cho X KW điện.
    b) Nhập n (số hộ sử dụng) (1<=n<=200).
    Nhập thông tin số điện mỗi hộ sử dụng và lưu vào mảng "Sử Dụng".
    Use hàm "Tiền Điện" để tính số tiền mỗi hộ phải trả.
    c) Use mảng T , đếm số hộ gia đình phải trả nhiều nhất.
    Em mới học nên còn non nớt lắm, xin các anh chỉ giáo.
     
  7. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Bài này là 1 bài rất đơn giản :|, bạn phải làm khúc mắc chỗ nào rồi hỏi chứ chả ai rỗi hơi ngồi code cả bài cho bạn đâu
    Gợi ý khung ct.
    1. Nhập n.
    2. Nhập số điện mỗi hộ sử dụng dùng vòng for.
    3. 1 vòng for nữa tính số điện mỗi hộ dùng = hàm tiền điện, lưu vào mảng T
    4. Dùng 1 biến max và duyệt trong mảng T để tìm số lớn nhất

    Đối với hàm tiền điện thì dùng if ... else ...
     
  8. kiennghe

    kiennghe Youtube Master Race

    Tham gia ngày:
    23/12/08
    Bài viết:
    19
    Hix, cám ơn anh, nhờ gợi í của anh em đã làm được chút xíu, nhưng cũng chẳng khá hơn.Đây là đoạn code em đã viết và...ko chạy được.Anh làm ơn đã giúp thì giúp cho chót, em sắp thi rồi .:((
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    void Tien_Dien()
    {
    clrscr();
    int X,D,gia;
    D=X-50;
    if(D<=50) gia=(230*50)+(480*D);
    else if(D>50&&D<=100) gia=(230*50)+(480*50)+(D-100)*700;
    else gia=(230*50)+(480*50)+(700*50)+(D-150)*900;
    }
    void main()
    {
    clrscr();
    int n,i;
    float SD[100];
    float T[100];
    printf("\n Nhap vao so ho gia dinh : ");
    scanf("%d",&n);
    printf("\n So KW moi ho tieu thu: ");
    for(i=0;i<n;i++)
    {
    printf("\n SD[%d]= ",i);
    scanf("%f",&SD);
    }
    printf("\n So tien moi ho phai tra: ");
    for(i=0;i<n;i++)
    {
    printf("\n SD[%d]=%f",i,Tien_Dien());
    }
    getch();
    }
     
  9. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    450
    có cái này
    Mã:
    printf("\n SD[%d]=%f",i,[COLOR="Red"]Tien_Dien()[/COLOR]);
    
    Thì chỗ này
    Mã:
    void Tien_Dien()
    
    ko dc dùng void

    Viết hàm Tien_Dien() mà ko có đối vào sao nó tính

    Sai nhiều lắm, có lẽ bạn phải xem lại lí thuyết phần hàm

    Chạy đoạn code sau ( nếu ko chạy dc thì bỏ void ở void main và bỏ clrscr () ở trong hàm void main )

    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<math.h>
    int Tien_Dien (int X)
      {
        
        int D;
        D=X-50;
        if(D<=50) return((230*50)+(480*D));
        else if(D>50&&D<=100) return ((230*50)+(480*50)+(D-100)*700);
        else return((230*50)+(480*50)+(700*50)+(D-150)*900);
      }
    void main()
       {
          clrscr(); 
          int n,i;
          int SD[100];
      
          printf("\n Nhap vao so ho gia dinh : ");
          scanf("%d",&n);
          printf("\n So KW moi ho tieu thu: ");
          for(i=1;i<=n;i++)
             {
                printf("\n nha thu %d xai la = ",i);
                scanf("%d",&SD[i]);
              }
          printf("\n So tien moi ho phai tra: ");
          for(i=1;i<=n;i++)
             {
                 printf("\n so tien dien nha thu %d phai tra la %d",i,Tien_Dien(SD[i]));
             }
       getch();
    } 
    
    Đoạn code đó sẽ chạy cho kết quả âm khi mà số KW điện nhập vào quá nhỏ,nên bạn sửa lại chỗ này

    Mã:
    50<D<100
    mà D=X-50
    ==> 50<D<100 <=> 100<X<150
    Nghĩa là dùng X lun, ko cần dùng D
    
    Tóm lại là cứ sửa hàm tinh_tien lại đi

    Mã:
    (D>50&&D<=100) ghi vậy cho nhanh (50<D<=100)
    Mã:
    gặp toán dạng này thì for (i=0;i<n;i++) nên thay bằng for (i=[COLOR="Yellow"]1[/COLOR];i[COLOR="Yellow"]<=[/COLOR]n;i++)
     
  10. kiennghe

    kiennghe Youtube Master Race

    Tham gia ngày:
    23/12/08
    Bài viết:
    19
    Cám ơn anh rất nhiều.Nhưng khi em chạy đoạn chương trình của anh thì lại ko ra kết quả như mong muốn.VD Hộ 1 sử dụng 200KW lẽ ra phải trả trên 70000 nhưng chương trình tính ra chỉ có 4936.Em đã thử sửa int thành unsigned long nhưng vẫn bị lỗi tương tự.Còn nữa anh cho em hỏi khi đã có thông tin về số tiền mỗi hộ phải trả rồi, mình muốn lưu thông tin đó vào 1 mảng để tìm số lớn nhất thì phải làm thế nào?Xin anh giúp đỡ, em vô cùng cảm kích.
     
  11. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Note là hạn chế dùng unsigned ( cái này do chính Google nói thế ) dễ gây lỗi ko đáng có.
    Chương trình tính ra sai thì bạn kiểm tra công thức là 1, nếu sai ko do công thức thì hẵn nghĩ tới biến ko đủ.
    Lưu thông tin thì thay vì in ra ngay tiền từng hộ, bạn lưu nó vào mảng thôi
     
  12. kiennghe

    kiennghe Youtube Master Race

    Tham gia ngày:
    23/12/08
    Bài viết:
    19
    Em đã thử tính tay theo công thức rồi, và kết quả tính ra lại lệch với kết quả của chương trình 65525 đơn vị nên em nghĩ là do biến ko đủ.
     
  13. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    450
    Thì mình nói là bạn xem lại hàm Tien_Dien mà

    Còn khi có thông tin rồi lưu nó vào 1 mảng,rồi dùng for để chạy lại và xem thằng nào lớn nhất thì gán max cho thằng đó

    Đang ngồi net , ko làm giúp bạn đc, để về nhà coi lại
     
  14. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    450
    sử dụng hàm tính điện như thế này

    Mã:
    #include <stdio.h>
    #include <conio.h>
    int tien (int X)
     {
         int gia;    
          if (X<=50) 
           gia=230*50;
          if (50<X<=100) 
           gia = 230*50+(X-50)*480;
          if (100<X<=150) 
           gia = 50*710+(X-100)*700;
          if (X>150)
           gia = 50*1410+(X-150)*900;
          return gia;
     }
       
    main ()
      {
          int X;
          printf ("\n nhap vao X voi X la so Kw dien :");
          scanf ("%d",&X);
          printf ("\n tien dien phai tra la %d VND ",tien(X));
          getch();
      } 

    Sẵn đố mấy bạn lun nếu cho else if vào như thế này
    Mã:
    #include <stdio.h>
    #include <conio.h>
    int tien (int X)
     {
         int gia;    
          if (X<=50) 
           gia=230*50;
          [COLOR="Blue"]else if [/COLOR](50<X<=100) 
           gia = 230*50+(X-50)*480;
          [COLOR="Blue"]else if [/COLOR](100<X<=150) 
           gia = 50*710+(X-100)*700;
          [COLOR="Blue"]else if [/COLOR](X>150)
           gia = 50*1410+(X-150)*900;
          return gia;
     }
       
    main ()
      {
          int X;
          printf ("\n nhap vao X voi X la so Kw dien :");
          scanf ("%d",&X);
          printf ("\n tien dien phai tra la %d VND ",tien(X));
          getch();
      }      
    
    Thì nó chạy ra sao, và tại sao như vậy,đố cho vui thôi hen ^^
     
  15. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Chạy như nhau thôi, nhưng ở trường hợp dùng else if sẽ tiết kiệm đuợc buớc so sánh
     
  16. ricky_martin

    ricky_martin Lão Làng Lão Làng GVN

    Tham gia ngày:
    30/12/05
    Bài viết:
    450
    Bạn chạy thử chưa

    Mình chạy thì khi thử 101Kw thì sẽ cho 2 kết quả khác nhau nếu 1 cái có else và 1 cái ko có else

    Cái có else nó sẽ thiếu 220đ , nghĩa là tính dư 1 Kw cho 480d, và thiếu 1Kw cho 700d, rốt cuộc nó thiếu mất 220d.
     
  17. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Đơn giản vì bạn viết sai so sánh, ko được viết 50<X<=100 mà phải viết 50<X && X<=100.
    Giải thích kĩ thêm 1 tí về lỗi này...
    Đối với trường hợp ko có else, cả 2 chỗ so sánh 50<X<=100 và 100<X<=150 đều return là true nên giá được tính 2 lần, kết quả sau ăn may là đúng nên nó đúng.
    Với hàm có else thì nó được tính 1 lần ở công thức đầu, do nó sai nên sai.
    Nên nhớ là 50<X<=100 thì tức là (50<X)<=100, 50<X luôn là 0 hoặc 1 nên nó luôn <100, vì vậy cái công thức này luôn đúng
     
  18. kiennghe

    kiennghe Youtube Master Race

    Tham gia ngày:
    23/12/08
    Bài viết:
    19
    Cám ơn 2 anh Funnny và ricky_martin rất nhiều, khi nào có bài nào khoai sẽ lại làm phiền các anh.Các anh can tư vấn giúp em ngôn ngữ chủ đạo để học lập trình ko?Vd Java, C#, PHP, Ajax....thì nên chọn ngôn ngữ nào để học chủ đạo?
     
  19. Funnnny

    Funnnny Will Code Python For FOOD Moderator

    Tham gia ngày:
    2/8/05
    Bài viết:
    9,406
    Nơi ở:
    Hanoi, Vietnam
    Tùy bạn thích làm về cái gì thôi.
    Học về Ajax, Javascript, Html, Web2.0 chủ yếu để hướng làm web designer.
    Học về PHP/MySql, Asp... hướng làm web programmer.
    Học về Java nếu bạn thích làm phần mềm người dùng cuối, phần mềm nhúng.
    Học về C# nếu bạn chủ yếu lập trình trên Windows và dùng Windows API, dùng lập trình các phần mềm .Net
    Còn rất nhiều NNLT khác, quan điểm mình học C/C++ vì mình thích lập trình cross platform và lập trình phần mềm, ứng dụng nói chung
     
  20. The Greek Warrior

    The Greek Warrior T.E.T.Я.I.S

    Tham gia ngày:
    28/4/02
    Bài viết:
    561
    Nơi ở:
    Caldeum
    C/C++ không thể là cross platform được đâu bạn ạ. Một chương trình viết bằng C/C++ ở HDH Windows nếu đem qua HDH Linux,Unix, Mac... sẽ không chạy được. Nếu muốn Cross Platform phải kể đến Java trong Java có câu mà ai khi bắt đầu học đều biết và nó cũng trở thành khẩu hiệu của Sun MicroSystems"Write once, run anywhere" nhờ Virtual Machine và khái niệm bytes code đi kèm. Thân !
     

Chia sẻ trang này