Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > C# winApp สุ่มค่าเพื่อให้ได้แบบที่ต้องการ ต้องทำยังไง ครับ



 

C# winApp สุ่มค่าเพื่อให้ได้แบบที่ต้องการ ต้องทำยังไง ครับ

 



Topic : 136824



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook



666

จากรูปถ้าผมจะเปลี่ยนให้ผลลัพท์ที่ได้เป็๋นจำนวนเต็มโดยไม่ใช้ loop จะมีวิธีคิดยังไง ครับ
พอดีใช้ loop แล้ว พอเราสั่งปริ้นหลายๆหน้ามันช้า ครับ

อย่างตัวอย่าง ค่าที่ได้เป็น 15*100/37 = 40.54054054
ถ้าใช้ loop บวกไปทีละ 1 มันจะได้ว่าต้องเปลี่ยนจาก 37 เป็น 50 ครับ

โค้ด
Code (C#)
NumP = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 40, 50, 60, 70, 80, 90, 100 };

#region _Draw Detail

            // System.Windows.Forms.MessageBox.Show("page " + iPage);
            int yC = 120, xC = 60;
            int w = 100, h = 40;
            for (int i = 0; i < 6; i++)
            {

                int a = RandomNumberGenerator.GetInt32(1, 50);
               
         
                int b = a * 100/NumP[RandomNumberGenerator.GetInt32(0, NumP.Count - 1)];
               /* int b = a * 100 / RandomNumberGenerator.GetInt32(1, 100);//a * Nums[RandomNumberGenerator.GetInt32(0, Nums.Count - 1)];
                do {
                    b++;
                } while (((Convert.ToDouble(a) * Convert.ToDouble(100) / Convert.ToDouble(b))%1)!=0);*/
                if (rd_1.Checked)
                {
                    string _a = a.ToString(), _b = b.ToString();


                    e.Graphics.DrawFraction(_a, _b, xC + 10, yC);
                    e.Graphics.DrawString(" = ", new Font("Angsana New", 20), new SolidBrush(Color.Black), xC + 110, yC + 15);
                    e.Graphics.DrawFraction("Y", "100", xC + 110, yC);
                }
                else
                {
                    if (RandomNumberGenerator.GetInt32(1, 1000) > 500)
                    {
                        e.Graphics.DrawString($"{a} คิดเป็นร้อยละเท่าใด\nของ {b}", new Font("Angsana New", 20), new SolidBrush(Color.Black), xC + 10, yC);
                    }
                    else
                    {
                        e.Graphics.DrawString($"ร้อยละ {a} ของ{b} \nเป็นเท่าใด", new Font("Angsana New", 20), new SolidBrush(Color.Black), xC + 10, yC);
                    }
                }
                
                e.Graphics.DrawLine(new Pen(Brushes.Black, 2), xC + 250, yC + 25, 700, yC + 25);
                e.Graphics.DrawLine(new Pen(Brushes.Black, 2), xC + 250, yC + 55, 700, yC + 55);
                e.Graphics.DrawLine(new Pen(Brushes.Black, 2), xC + 250, yC + 85, 700, yC + 85);
                e.Graphics.DrawLine(new Pen(Brushes.Black, 2), xC + 250, yC + 115, 700, yC + 115);
                yC += 150;

            }


            #endregion




Tag : .NET, Win (Windows App), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2022-09-24 09:53:16 By : lamaka.tor View : 475 Reply : 7
 

 
ถ้าเน้นเร็ว ต้องลดภาระการสุ่ม เพราะสุ่มจะกินเวลานาน
โดยสร้างเป็น Data แล้วเรียกมาแสดงโดยตรงเลยครับ
สุ่มแค่เลขกรณีครั้งเดียว
สมมติทำไว้ 10,000 กรณีก็สุ่มแค่
min-10,000 แล้วนำเลขไปอ้างอิง index ของ Data
ซึ่ง Data อาจเก็บเป็น List ของ tuple
หรือเก็บใน Database
ส่วนวิธีการ gen data ก็ทำครั้งเดียว
โดยเข้าลูปธรรมดา หรือจะลากใน excel ก็ได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-24 12:52:32 By : 009
 


 

No. 2



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


https://sites.google.com/site/mathsmaticsbynissa/home/thvsdi-canwn-beuxng-tn/kar-har-lngtaw


ประวัติการแก้ไข
2022-09-24 23:23:11
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-24 23:14:28 By : Chaidhanan
 

 

No. 3



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : 009 เมื่อวันที่ 2022-09-24 12:52:32
รายละเอียดของการตอบ ::
ถ้าสร้างข้อมูลมาก็กลัวว่า มันจะไม่ยืดหยุ่น อ่ะ ครับ
อีกอย่าง ก็คงต้องเลือกกันตาลายแน่ๆ ถ้าเราจะเลือกเลขตั้งแต่ 1-10000 และ มี 1-100%
ไม่รู้ว่าจะได้กี่หมื่นกี่แสนชุด กัน


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2022-09-24 23:14:28
รายละเอียดของการตอบ ::
ถ้าแบบนี้ ต้องใช้ loop ใช่ไม๊ ครับ ในการเช็ค ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-26 10:24:51 By : lamaka.tor
 


 
ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2022-09-26 10:24:51
รายละเอียดของการตอบ ::
ที่หารลงตัว มันไม่เยอะขนาดนั้นครับ เร็วเพราะอ่านโดยตรง
ที่ว่าไม่ยืดหยุ่น อันนี้ก็อยู่ที่เงื่อนไขที่เรากำหนด ในที่นี้คือหารลงตัว

ผมลอง gen 1000 ค่า ไม่ถึง 10 วิ(ขนาดไม่ได้ใช้ native code) gen เสร็จก็วางใน list เลย

ถ้ายืนหยัดที่จะสุ่มก็ต้องยอมรอ
ได้อย่างเสียอย่าง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-26 10:41:39 By : 009
 


 
ผมลอง gen เป็น tuple จาก 1-1,000
https://pastebin.com/ShkR2fAU

ข้อมูลอยู่ในรูปแบบนี้
(เศษ, ส่วน)

แค่นี้เด็กก็คิดไม่ออกแล้ว ถ้ายังไม่พอ gen 10,000 ก็จะได้ 42,000 รายการเท่านั้นที่หารลงตัว
ไม่เห็นตาลายเลยครับ

ส่วนข้อมูลด้านบนก็จับใส่ List (copy/paste)

ตอนสุ่มก็สุ่มแค่เลข index

หรือจะกังวลขนาดไฟล์จาก data...ไม่เลย ไม่เยอะขนาดนั้น
สุ่มจาก 1,000 ขนาด 51.78 KB
สุ่มจาก 10,000 ขนาด 517.8 KB
สุ่มจาก 100,000 ขนาด ประมาณ 5 MB เอง

ใช้ความรู้โปรแกรมมิ่ง มาช่วย gen ครับ ถ้าเลือกเองก็คงจะตาลายอย่างว่า
excel ก็ทำได้ ใส่สูตรแล้วลาก



ส่วนวิธีหารลงตัว ลองอ่านตำราฝรั่งหัวข้อ divisibility fraction
ก็พอช่วยลดการทำงานในลูปได้บ้างเล็กน้อย
สิ่งที่ฝืนธรรมชาติอย่าทำครับ เว้นแต่ต้องการความท้าทาย 555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-26 11:21:59 By : 009
 


 

No. 6



โพสกระทู้ ( 4,436 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 5 เขียนโดย : 009 เมื่อวันที่ 2022-09-26 11:21:59
รายละเอียดของการตอบ ::
ขอบคุณมากๆ เลย ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-26 14:35:25 By : lamaka.tor
 


 

No. 7



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2022-09-26 10:24:51
รายละเอียดของการตอบ ::
ใช่ครับ loop แต่เป็นการ loop ผ่าน function
ไม่ต้องสร้า่งตาราง เยอะ คิดดู 15 / B เตรียมแค่ 15
แต่ถ้า เป็น A/B ต้องเตรียมเยอะขนาดไหน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-09-27 10:32:07 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : C# winApp สุ่มค่าเพื่อให้ได้แบบที่ต้องการ ต้องทำยังไง ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่