Đề bài cụ thể hoặc đoạn code cụ thể để mọi người còn biết bạn muốn hỏi cái gì.
Mình đang viết 1 chương trình tính toán đơn giản và muốn lấy kết quả trong các vòng lặp for ra để ính mà không biết làm thế nào? Mọi người chỉ mình với ạ!!!!
Đề bài cụ thể hoặc đoạn code cụ thể để mọi người còn biết bạn muốn hỏi cái gì.
anhnt2810@gmail.com
double m, n, pej, pm, a, b1, c1, b2, c2, b3, c3, b4, c4, i, j, k, cxn1, cxn2, cxn3, cxn4, pm1, pm2, pm3, pm4;
if (textBoxm.Text == "" || textBoxn.Text == "" || textBoxp.Text == "") { lbpm.Text = "Pe = ???"; MessageBox.Show("Bạn chưa nhập đủ dữ liệu!", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
else
{
m = Convert.ToDouble(textBoxm.Text);
pej = Convert.ToDouble(textBoxp.Text);
n = Convert.ToDouble(textBoxn.Text);
a = 1;
for (i = 1; i <= n; i++) a = a * i;
b1 = 1;
for (j = 1; j <= m; j++) b1 = b1 * j;
c1 = 1;
for (k = 1; k <= n - m; k++) c1 = c1 * k;
cxn1 = a / (b1*c1);
pm1 = cxn1 * (Math.Pow (pej, m)) * (Math.Pow((1 - pej), (n-m)));
if (n - m - 1 <= 0) cxn2 = 0;
else
{
b2 = 1;
for (j = 1; j <= m + 1; j++) b2 = b2 * j;
c2 = 1;
for (k = 1; k <= n - m - 1; k++) c2 = c2 * k;
cxn2 = a / (b2 * c2);
pm2 = cxn2 * (Math.Pow(pej, m + 1)) * (Math.Pow((1 - pej), n - m - 1));
}
b3 = 1;
for (j = 1; j <= m + 2; j++) b3 = b3 * j;
c3 = 1;
for (k = 1; k <= n - m - 2; k++) c3 = c3 * k;
cxn3 = a / (b3 * c3);
pm3 = cxn3 * (Math.Pow(pej, m + 2)) * (Math.Pow((1 - pej), n - m - 2));
b4 = 1;
for (j = 1; j <= m + 3; j++) b4 = b4 * j;
c4 = 1;
for (k = 1; k <= n - m - 3; k++) c4 = c4 * k;
cxn4 = a / (b4 * c4);
pm4 = cxn4 * (Math.Pow(pej, m + 3)) * (Math.Pow((1 - pej), n - m - 3));
pm = pm1 + pm2 + pm3 + pm4;
lbpm.Text = "PM = " + Convert.ToString(pm);
}
đoạn code của mình thế này ạ!
Định dạng, đánh số dòng (line numbers) giúp LTV dễ theo dõi cốt kiếc. Du muốn lấy kết quả ở dòng nào đem tới đâu (dòng nào) để tính toán ?
Visual C# Code:
double m, n, pej, pm, a, b1, c1, b2, c2, b3, c3, b4, c4, i, j, k, cxn1, cxn2, cxn3, cxn4, pm1, pm2, pm3, pm4; lbpm.Text = "Pe = ???"; MessageBox.Show("Bạn chưa nhập đủ dữ liệu!", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } { m = Convert.ToDouble(textBoxm.Text); pej = Convert.ToDouble(textBoxp.Text); n = Convert.ToDouble(textBoxn.Text); a = 1; b1 = 1; c1 = 1; cxn1 = a / (b1*c1); pm1 = cxn1 * (Math.Pow (pej, m)) * (Math.Pow((1 - pej), (n-m))); { b2 = 1; c2 = 1; cxn2 = a / (b2 * c2); pm2 = cxn2 * (Math.Pow(pej, m + 1)) * (Math.Pow((1 - pej), n - m - 1)); } b3 = 1; c3 = 1; cxn3 = a / (b3 * c3); pm3 = cxn3 * (Math.Pow(pej, m + 2)) * (Math.Pow((1 - pej), n - m - 2)); b4 = 1; c4 = 1; cxn4 = a / (b4 * c4); pm4 = cxn4 * (Math.Pow(pej, m + 3)) * (Math.Pow((1 - pej), n - m - 3)); pm = pm1 + pm2 + pm3 + pm4; lbpm.Text = "PM = " + Convert.ToString(pm); }
Hic, Mình cũng để tự động đánh số code rồi nhưng khi copy nó không copy ra được. mình dùng VB bản 2017 ạ. Mình muốn lấy các giá trị pm1, pm2...ra ạ
- VB bản 2017 là cái gì thế, nó giống cốt này không:
VB Code:
Module Module1 Sub Main() ' This loop goes from 0 to 5. For value As Integer = 0 To 5 ' Exit condition if the value is three. If (value = 3) Then Exit For End If Console.WriteLine(value) Next End Sub End Module
- Số dòng (line numbers) là tùy chọn, không phải là thành phần của code, không cần copy.
Trên là c xáp (c sharp hay c#). Du muốn lấy các giá trị pm1, pm2... ở dòng nào ?
Viết cốt nên có chú thích (comments)
Hic, mình lập trình form bằng c# ạ bằng Visual Basic 2017. Ngại quá.
Các giá trị pm1, pm2 trong các vòng for đều lấy ra tính ở phép toán cuối ngoài vòng for là: pm = pm1 + pm2 + pm3 + pm4;
Sao gà mờ thế, Visual Studio có nhiều bản khác nhau, khác với Visual Basic.
https://visualstudio.microsoft.com/downloads/
còn chưa biết cái code trên bạn viết trong main hay viết trong event của controls nữa ! trong main thì khai náo mấy cái pm1,pm2,v,v.... là biến cục bộ chắc ổn