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. ricky_martin

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

    Tham gia ngày:
    30/12/05
    Bài viết:
    452
    Cái này để giải thích những cái lệnh em hỏi "để làm gì".
    Còn em hỏi là nó thực hiện theo thứ tự như thế nào mà.
    Chạy ko đc....
    Nếu muốn xuất ra theo thứ tự từ lớn tới bé thì phải đổi ở đây nè ;
    Mã:
    if (a[i]>a[j])
    
    ----->
    Mã:
    if (a[i]<a[j])
    
     
  2. 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ần khỉ gì phải đảo ngược thuật toán sort=)) in mảng sort tăng theo thứ tự ngược lại là ra sort giảm chứ có khỉ gì đâu:))

    code này có chỗ ko chuẩn : mảng a của bạn lấy từ phần tử 0, để điểu kiện là !=0 là ko ổn, thế thì nó xuất thiếu phần tử cuối:)) còn lại thì vẫn đúng mà, sao lại ko chạy được:-/ có thể chẳng qua là biến i đã khai báo ở trên rồi thôi, bác thay lại là
    Mã:
    for(i=n;i>=0;i--)
         printf("%d",a[i]);
     
  3. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    uhm sơ xuất, i>=0 mơi đúng chấp nhận
     
  4. WordEditor

    WordEditor C O N T R A

    Tham gia ngày:
    8/9/08
    Bài viết:
    1,509
    Nơi ở:
    Leaf Village
    Hic Hic, sao không ai trả lời vậy, đang cần chương trình đó lắm
     
  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
    sang box phần mềm mà hỏi chứ:-< nhầm chuồng rồi:-<
     
  6. ricky_martin

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

    Tham gia ngày:
    30/12/05
    Bài viết:
    452
    Chính xác là khi chạy chương trình nó có thêm 1 dãy số vô nghĩa ban đầu nữa.
    Thuật toán soft là gì vậy , thế em đổi dấu < thành dấu > mà giải quyết đc bài toán ko hay hơn sao ?
    .
    ___________Auto Merge________________

    .
    Ko biết có liên quan tới topic ko nhưng em nghỉ chỗ này là thích hợp để hỏi nhất
    Anh của em làm việc bên 1 công ty cửa gỗ,khoảng qua tết là công ty có mở 1 trang wed , mục đích chỉ là quảng cáo sản phẩm của mình thôi.
    Họ cần 1 người quản lí trang wed đó,nhiệm vụ là xem coi 1 ngày có bao nhiu lượt truy cập,rồi đem hình ảnh của công ty lên cũng như những sản phẩm mà công ty sẽ bán,trả lời những câu hỏi của khách hàng...
    Giống như là 1 admin ấy.
    Em nghĩ việc này cũng ko có gì là quá khó nên muốn hỏi mấy anh là mình tìm đâu tài liệu để biết cách quản lí 1 trang wed như thế.
    Với nó có khó khăn như gamevn.com ko,vì em thấy forum này có nhìu admin,chia ra nhìu lĩnh vực.
    Em search trên google rồi nhưng ko tìm đc cái em cần tìm,vì vậy hỏi trên đây mong các anh trả lời giúp
     
  7. 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
    Nếu web đặt 1 công ty IT nào đó viết thì sẽ có tài liệu hướng dẫn kèm theo thôi bạn, không lo về việc này nếu là trang web nhỏ, thậm chí nếu trang web lớn thì họ sẽ tổ chức vài buổi tập huấn về cách sử dụng trang web.
     
  8. ricky_martin

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

    Tham gia ngày:
    30/12/05
    Bài viết:
    452
    Yêu cầu : viết chương trình nhập vào số nguyên dương n xuất ra màn hình dạng biểu diễn số nhị phân của nó.
    Mã:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
         
          int b,r,a,n;
          
          printf ("nhap vao so N nguyen duong :");
          scanf ("%d",&n);
          if (n<=0)printf ("nhap lai");
          else
         
          while (a!=0)
          {
                r=(n%2);
                printf ("%d",r);
                a=((n-r)/2);
                
                n=a; }
               
                getch();
                }
                
                
    
    Em làm đc tới đây nhưng còn pải sắp xếp ngược lại nữa.
    Vd nhập số 11 thì chương trình chạy cho ra số 1101,nhưng dạng đúng pải là 1011.
    Vậy làm sao để đảo ngược kết quả đó vậy
    Còn 1 bài nữa :
    Viết chương trình nhập vào số có 3 chữ số,xuất ra màn hình cách đọc.Vd : 207 : hai trăm lẻ bảy ,cái dạng kiểu này em chưa gặp bao giờ ko bik làm sao lun.
    Post liên tù tì thế nào ko bik có bị chém ko nữa ::(
     
  9. 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
    thêm một mảng để lưu kết quả, 1 biến để quản lí số phần tử của mảng đó, rồi in ngược mảng là xong :
    Mã:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
         
          int n;      
          int res[100],k=0;/* mảng lưu kết quả và biến quản lý số phần tử của mảng*/            
          printf ("nhap vao so N nguyen duong :");
          scanf ("%d",&n);
          if (n<=0)printf ("nhap lai");
          else
         
          while (a!=0)
          {
                k++;
                res[k] = (n%2);            
                n=((n-res[k])/2);            
                 }
           for(int i=k;i>0;i--)
               printf(%d,a[i]);            
               
                getch();
                }
    
    chưa compile đâu, tự kiểm tra lại nhé:'>
     
  10. blaster6220119

    blaster6220119 Donkey Kong

    Tham gia ngày:
    14/3/06
    Bài viết:
    430
    Nơi ở:
    :-"
    nghe thấy ngược lại nghĩ tới đệ quy :">
    Mã:
    #include<conio.h>
    #include<stdio.h>
    
    void binary(int a)
    {
    	if(a!=0) binary(a/2);
    	if(a!=0) printf("%d",a%2);
    }
    
    void main()
    {
    	clrscr();
            int n;
    	printf ("nhap vao so N nguyen duong : ");
            scanf ("%d",&n);
    	if(n==0)printf("0");
    	else	binary(n);
    	printf("\n");
    	getch();
    }
     
  11. ricky_martin

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

    Tham gia ngày:
    30/12/05
    Bài viết:
    452
    Đệ quy chưa học nên ko bik
    Mã:
    #include <stdio.h>
    #include <conio.h>
    main()
    {
         
          int n;      
          int res[100],k=0;/* mảng lưu kết quả và biến quản lý số phần tử của mảng*/            
          printf ("nhap vao so N nguyen duong :");
          scanf ("%d",&n);
          if (n<=0)printf ("nhap lai");
          else
         
          while (a!=0)
          {
                k++;
                res[k] = (n%2);            
                n=((n-res[k])/2);            
                 }
           for(int i=k;i>0;i--)
               printf(%d,a[i]);            
               
                getch();
                }
    Hai lỗi ở printf là thiếu dấu "" với a thay thành res
    Một lỗi ở while
    Cám ơn anh nhé,cách này hay quá,em hỉu rồi
    Còn cái bài đọc số thì sao ạh,chỉ dùm em lun đi,ngồi cả ngày nay mà ko giải đc,hay là gợi ý giúp em cũng đc,tại cái dạng này em chưa gặp bao giờ
     
  12. 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
    uh, tại bình thường hay đặt mảng là a nên quen tay thôi:'>
    đệ quy cũng giống như qui nạp toán học ấy mà, cứ từ từ rồi sẽ đc học:'> lúc mới học chỗ đấy tớ cũng mãi mới ngộ ra được:whew: hơi bị trừu tượng một tí:D
    bài đọc số đề thế nào vậy:D
     
  13. light_dragons

    light_dragons Youtube Master Race

    Tham gia ngày:
    25/11/08
    Bài viết:
    59
    Nơi ở:
    The Dragon Hill
    Cho hỏi muốn lập trình một game flash thì cần làm gì? Các code chủ yếu?
    P/s: nếu được thì cho xin soft làm Flash game luôn. Có hỏi bên PM mà không có ai trả lời hết :-s
     
  14. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    cần biết về đồ họa và vẽ với 1 tí + học lập trình action script và sòt đề làm là adobe flash pro bản mới nhất là cs4(2 cd)
     
  15. light_dragons

    light_dragons Youtube Master Race

    Tham gia ngày:
    25/11/08
    Bài viết:
    59
    Nơi ở:
    The Dragon Hill
    Hình ảnh thì và các animation thì mình đã design xong. Chỉ còn cần soft nữa thôi :D
    Vậy có bản nén nào với link down "nhẹ" không bạn? Bên box PM vừa mới đưa cho tớ 2 link, hơn 2xx MB nên ngại down :'>
     
  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:
    452
    Có một bài đơn giản thôi,hoán vị 2 số a b ,dùng hàm :
    Mã:
    #include <stdio.h>
    #include <conio.h>
    
    void hoan_vi (float a,float b)
    {
         float z;
         z=a;
         a=b;
         b=z;
         printf (" a =%f \nb=%f ",a,b);
         
                     }
    main()
     {
          float a=7.6,b=13.5;
          hoan_vi(a,b);
          getch();
         
          
          }
              
    
    Như vậy thì chạy ok

    Nếu đem cái lệnh printf từ hàm hoan_vi xuống hàm main
    Mã:
    #include <stdio.h>
    #include <conio.h>
    
    void hoan_vi (float a,float b)
    {
         float z;
         z=a;
         a=b;
         b=z;
         
                     }
    main()
     {
          float a=7.6,b=13.5;
          hoan_vi(a,b);
          printf (" a =%f \nb=%f ",a,b);
          getch();
         
          
          }
              
    
    Thì kết quả in ra a=7.6 ; b=13.5 nghĩa là nó ko có hoán vị.
    Còn nếu thêm chữ void vào trước hàm main thì nó báo lỗi và ko chạy đc lun
    Ai có thể giải thích giúp em đc ko ?
     
  17. 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
    ko làm thế được, phải dùng con trỏ để hoán đổi 2 giá trị chứ :
    Mã:
    #include <stdio.h>
    #include <conio.h>
    
    void hoan_vi (float *x, float *y)
    {
         float *z;
         *z=*x;
         *x=*y;
         *y=*z;
    return;
    		 }
    void main()
     {
          float a=7.6,b=13.5;
          hoan_vi(&a,&b);
          printf (" a =%f \nb=%f ",a,b);
          getch();
    
          
          }
     
  18. ricky_martin

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

    Tham gia ngày:
    30/12/05
    Bài viết:
    452
    Mã:
    #include <stdio.h>
    #include <conio.h>
    
    void hoan_vi (float a,float b)
    {
         float z;
         z=a;
         a=b;
         b=z;
         
                     }
    main()
     {
          float a=7.6,b=13.5;
          hoan_vi(a,b);
          printf (" a =%f \nb=%f ",a,b);
          getch();
         
          
          }
    Vậy để em phân tích thử xem
    -Bắt đầu từ hàm main phải ko ah
    -Rồi cấp cho a,b vùng nhớ 4 byte đồng thời gán cho a=7.6 b=13.5
    -Thấy lời gọi hàm hoan_vi
    -Thực hiện lệnh bên trong hàm hoán vị
    { .......
    z=a /gán 7.6 cho z/
    a=b /gán 13.5 cho a/
    b=z /z bây giờ đã là 7.6 nên gán 7.6 cho b/
    Tóm lại a bây giờ mang giá trị 13.5 và b là 7.6
    Nghĩa là đã thực hiện đc quá trình hoán vị
    rồi đem xuống hàm main printf ra.
    Vậy đó,em nghĩ là như thế nhưng thực tế thì chương trình chạy xong , lại ko hoán vị đc a và b ----> em sai và sai chỗ nào trong phân tích trên có thể chỉ giúp em ko.
    Và một điều thắc mắc nữa là tại sao khi đem lệnh printf lên hàm hoan_vi thì chương trình chạy lại cho kết quả đúng ?
     
  19. toi5

    toi5 Try Hard Moderator Lão Làng GVN

    Tham gia ngày:
    27/5/03
    Bài viết:
    6,866

    @nhatanh:bạn ấy mới học C++ cho bạn ấy con trỏ bạn ấy còn rối hơn....

    cái hàm hoán vị sai....ko biết bạn học tham chiếu chưa nhỉ..nếu hàm hoán vị mà bạn truyền 2 tham số kiểu như trên nói ngắn gọn dễ hiểu là lát nó làm xong hàm đó thì 2 cái tham số truyền vào không thay đổi...mà bạn lại muốn nó thay đổi sau khi làm xong hàm trên--> tất nhiên kết quả in ra sẽ sai và không như mong muốn...
    có thể sửa lại bằng cách:
    void hoan_vi (float &a,float &b)
    như vậy lúc này nó sẽ lấy địa chỉ của a và b vào...và khi tính toán trên đó thì khi thoát ra khỏi hàm hoán vị thì a và b đã được thay đổi...
     
  20. DHBL

    DHBL Youtube Master Race

    Tham gia ngày:
    7/11/08
    Bài viết:
    58
    qua box phần mềm xin cái link dơn flash portable đi bạn chứng 100mb đổ lại hà
     

Chia sẻ trang này