Giúp mình 1 đoạn code C++ cơ bản ^^

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi gigamesh, 15/6/10.

  1. gigamesh

    gigamesh T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    553
    Chào các bạn, mình đang làm mấy bài C++ mà vì lâu ko đụng đến nên quên hết kiến thức rồi, các bạn giúp mình chút nhé :D
    Bài 1a theo mình nghĩ thì mình tạo 1 biến rồi cho người dùng nhập giá trị từ bàn phím rồi tạo vòng lặp.
    Bài 1b thì mình ko biết hướng xử lý như thế nào, có lẽ là sau khi nhập giá trị thì tách từng số ra rồi gán 1 biến kí tự khi hiển thị ra cho các số từ 0-9 chăng ? , nhưng như thế thì có vẻ hơi dài nhỉ :D
    Còn về phần code thì mình chịu vì lâu lắm ko đụng vào nên quên hết rồi, các bạn code giúp mình các bài này nhé, mình cảm ơn nhiều ^^
     
  2. Bối Bối

    Bối Bối C O N T R A

    Tham gia ngày:
    20/2/06
    Bài viết:
    1,859
    Nơi ở:
    Ha Noi, Vietnam,
    câu 1 dùng
    int x;
    do {
    nhập và gán giá trị cho x
    }while(x>=100 || x<0)

    câu 2:
    tách các số hàng trăm, chục, đơn vị, duyệt các số này dùng switch case để đọc. ví dụ switch(x){case 1: str+=" mot ";break; ...}
    câu 3: cũng ko khó
    nói chung mấy cái này khá cơ bản,bạn nên tự tìm hiểu và làm ;;)
     
  3. DieForSure

    DieForSure T.E.T.Я.I.S

    Tham gia ngày:
    8/7/08
    Bài viết:
    619
    Nơi ở:
    Zarnakand
    bài 2 thì hướng giải quyết có thể làm như sau: nhập vào 2 số a/b và c/d, nếu là nhân thì e = a * c, f = b * d, kq = e/f, nếu là cộng thì bạn đi tìm BSCNN của b và d, sau đó quy đồng 2 fân số rồi tính kq. để tìm được BSCNN thì bạn nên tìm USCLN rồi áp dụng công thức BSCNN = tích 2 số/USCLN. sau đây là cách tìm USCLN = mã giả, cách này chưa fải là hay nhất nên bạn nên tìm hiểu thêm để giải bài toán đc hay hơn

    Mã:
    Read a
    Read b
    if(a=0)
    return b // b la USCLN
    else if(b=0)
    return a // a la USCLN
    else
    {
    if(a>b)
    {
    for(int i=b; i >= 0; i--)
    {
    if(a%i = 0 && b%i = 0) // % la chia lay du
    return i // i la USCLN
    }
    }
    }
    else
    {
    for(int i = a; i >= 0; i--)
    {
    if(a%i =0 && b%i=0)
    return i
    }
    }
    }
    
    
    sẵn cho mình hỏi luôn, muốn tìm BSCNN của n số thì áp dụng công thức nào nhỉ, có thể dùng công thức tích của n số/USCLN đc ko nhỉ?
     
    Chỉnh sửa cuối: 16/6/10
  4. Bối Bối

    Bối Bối C O N T R A

    Tham gia ngày:
    20/2/06
    Bài viết:
    1,859
    Nơi ở:
    Ha Noi, Vietnam,
    viết hàm rút gọn phân số.
    trước khi tính tích hay tổng thì rút gọn rồi tính, tính xong lại rút gọn lần nữa,

    còn tính BSCNN của n số: n số này phải lưu trong mảng, sắp xếp mảng, tìm (mẫu) số lớn nhất, kiểm tra nó có phải là BSCNN ko ? nếu ko, nhân nó với (mẫu) số nhỏ nhất và kiểm tra, ko phải thì nhân với các mẫu số tăng dần lên và kiểm tra....
     
  5. gigamesh

    gigamesh T.E.T.Я.I.S

    Tham gia ngày:
    26/6/04
    Bài viết:
    553
    bạn có thể viết dùm mình đoạn code của 3 bài mình post lên đc ko :( , lâu mình ko đụng đến C++ nên quên hết rồi :(
     

Chia sẻ trang này