30/09/2018, 19:56

Xin bai tap ve c++

mọi người ơi ai có bài tập cơ bản về c++ k cho mình xin id càng nhiều càng tốt
mình đang tập luyện để viết c++
xin cám ơn mọi người nhiều

Quốc Hùng viết 21:57 ngày 30/09/2018

ai có bài tập cơ bản về c++ k cho mình xin id càng nhiều càng tốt mình đang tập luyện để viết c++xin cám ơn mọi

Mình nghĩ muốn tập luyện thì bạn không nên làm theo hình thức bài tập. Sao bạn không thử viết 1 cái app xem, tuy nhỏ nhưng bạn sẽ học được rất nhiều đấy
Mình cũng đã viết 1 cái app lúc học Java và bây giờ thì thực sự rất cảm ơn cái Project đó

viết 22:02 ngày 30/09/2018

thử viết 1 chương trình cân bằng phản ứng hóa học xem. Ít ra cũng ngốn 2-3 ngày đó Yêu cầu là phương trình đã cân bằng phải là số nguyên (ko phải số thập phân).

vd:
input
H2O + CO2 = H2CO3
K2Cr2O7 + H2SO3 + HCl = KCl + Cr2(SO4)3 + H2O
K4Fe(CN)6 + KMnO4 + H2SO4 = KHSO4 + Fe2(SO4)3 + MnSO4 + HNO3 + CO2 + H2O
C5H12 + O2 = CO2 + H2O
Zn + HCl = ZnCl2 + H2
Ca(OH)2 + H3PO4 = Ca3(PO4)2 + H2O
FeCl3 + NH4OH = Fe(OH)3 + NH4Cl
K4[Fe(SCN)6] + K2Cr2O7 + H2SO4 = Fe2(SO4)3 + Cr2(SO4)3 + CO2 + H2O + K2SO4 + KNO3

output:
H2O + CO2 = H2CO3
K2Cr2O7 + 3H2SO3 + 2HCl = 2KCl + Cr2(SO4)3 + 4H2O
10K4Fe(CN)6 + 122KMnO4 + 299H2SO4 = 162KHSO4 + 5Fe2(SO4)3 + 122MnSO4 + 60HNO3 + 60CO2 + 188H2O
C5H12 + 8O2 = 5CO2 + 6H2O
Zn + 2HCl = ZnCl2 + H2
3Ca(OH)2 + 2H3PO4 = Ca3(PO4)2 + 6H2O
FeCl3 + 3NH4OH = Fe(OH)3 + 3NH4Cl
6K4[Fe(SCN)6] + 97K2Cr2O7 + 355H2SO4 = 3Fe2(SO4)3 + 97Cr2(SO4)3 + 36CO2 + 355H2O + 91K2SO4 + 36KNO3

Quốc Hùng viết 22:00 ngày 30/09/2018

cho e xin thuật toán can bằng đi a

viết 21:57 ngày 30/09/2018

phải giải 1 ma trận

ví dụ
Zn + HCl = ZnCl2 + H2

sẽ có 4 ẩn:
aZn + bHCl = cZnCl2 + dH2

cân bằng Zn ta có phương trình:
a = c
cân bằng H:
b = 2d
cân bằng Cl:
b = 2c
3 phương trình, 4 ẩn, phải gán 1 giá trị cho 1 ẩn. Ở đây cứ cho là b = 1. Suy ra d = 1/2, c = 1/2, a = 1/2. Sau đó phải biến mấy giá trị thập phân thành số nguyên, ở đây nhân 2 hết lên: a=1, b=2, c=1, d=1.

giải tay thì lẹ vậy, nhưng để máy giải thì phải tạo 1 phương trình ma trận AX = B, ở đây A là ma trận 3x3, X là ma trận 3x1 chứa [a, b, c]T, B sẽ là giá trị tương ứng của d.
a = c
b = 2d
b = 2c
viết lại là
1a + 0b - 1c = 0d
0a + 1b + 0c = 2d
0a + 1b - 2c = 0d
ma trận A là
1 0 -1
0 1 0
0 1 -2
ma trận B là
0
2
0
rồi cho máy giải thôi kết quả có thể là số thập phân, phải tìm cách chuyển nó về số nguyên (đừng dùng float/double mà viết 1 class PhanSo riêng). Giải xong sẽ có các giá trị a, b, c, ko có giá trị của d, ở đây d=1 (vì khi tạo ma trận B ta lấy 0 2 0 mà bỏ qua d, tức là mặc định giá trị d=1).

để giải ma trận thì ở đây ma trận nhỏ, xài LU factorization cho chính xác, hoặc xài bất cứ thư viện nào cho phép tính toán ma trận chứa PhanSo.

viết 21:58 ngày 30/09/2018

trên /r/dailyprogrammer cũng có challenge tương tự nè: https://www.reddit.com/r/dailyprogrammer/comments/3oz82g/20151016_challenge_236_hard_balancing_chemical/

độ khó có 3 mức là beginner - intermediate - hard. Bài này mod nó gắn mác “hard” là vì ngốn thời gian thôi. Chứ biết cách giải rồi thì cũng ko khó như mấy hard problems khác đâu

vô /r/dailyprogrammer có vài trăm challenge từ dễ tới khó, tha hồ mà vọc Mấy cái hard thì đọc thôi chứ làm thì bó tay

Khôi Trần viết 21:56 ngày 30/09/2018

Với sức mạnh của máy tính việc khéo léo trong vét cạn là giải pháp hoàn thoàn có thể

tuong lam viết 22:11 ngày 30/09/2018

còn bài nào dễ hơn nữa không hả mấy bác

Bài liên quan
0