ถกปัญหาภาษาซี

เริ่มโพสต์โดย Earthchie, 09 ส.ค. 2008, 17:01 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

Earthchie

ขอบคุณครับ

วิธีแก้ก็คือเปลี่ยนแหล่งชุดของเลข จาก time ไปเป็นแหล่งอื่นใช่มัยครับ

เปลี่ยนไปเป็นอะไรได้บ้างครับ
ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

ยุนเอ



เป็นอะไรก็ได้ครับ ศัพท์ในวงการเรียกกันว่า salt
เกลือนี่แหละครับ

เพราะจริงๆ แล้ว ฟังก์ชั่น random ในคอมถ้าลองรันดูจำนวนมากๆ จะเห็นรูปแบบการ random ของมันนะครับ
การเติมเกลือเข้าไปก็เพื่อเปลี่ยนรูปแบบนั้น เท่านั้นเอง
เราจะต้องการอะไรมากมายไปกว่า อะไรมากมาย

ลุงซัน

อ้างคำพูดจาก: WuTtY เมื่อ 13 ส.ค. 2008, 15:41 น.
return สำหรับ main โปรแกรมมีที่ใช้อยู่เหมือนกันนะครับ เช่น การใช้ exec("โปรแกรม"); โดย exec จะเอาค่าที่ return จาก main โปรแกรมมาใส่ให้ ดังนั้น มองว่า main เป็น function ใหญ่ ๆ function นึงก็ได้ครับเวลาเรียนเรื่อง function แล้วจะไม่ได้งง
shell command(exec) มันก็ไม่ต่างอะไรกับการเขียน bat file.
ผมว่าแล้วแต่ความถนัดละครับ
เพียงแต่ถ้าไป advance จะทำให้ผู้เริ่ม(ว่าทำไมต้อง return 0 ก่อนจบโปรแกรมด้วย/ไม่ return 0 ก็ได้) ถ้าไป process/program ซ้อนเข้าไป จะงงๆเท่านั้น
ผมจึงเน้น error code ที่เขาถามมาเท่านั้น
-------------------
ส่วน random เห็นมีอธิบายเยอะแล้ว ผมก็ ok ละ (ไม่งั้นอาจทำให้งงกันไปอีก)
ไปละ เพราะผมก็เริ่มงงๆตัวเอง  :54:
http://www.thaibuddy.com (ฟรีดิกชันนารี่ ชี้แล้วแปล)
ผมรู้เล็กน้อย

WuTtY

อ้างคำพูดจาก: EaRthCh!E* เมื่อ 14 ส.ค. 2008, 12:25 น.
ขอบคุณครับ

วิธีแก้ก็คือเปลี่ยนแหล่งชุดของเลข จาก time ไปเป็นแหล่งอื่นใช่มัยครับ

เปลี่ยนไปเป็นอะไรได้บ้างครับ

srand(time()) คือการเปลี่ยนตำแหน่งของ rand() อยู่แล้วครับ
เพราะทุกครั้งที่เราใช้ time() มันจะได้ค่าเป็นตัวเลขใหม่ ๆ มาเรื่อง ๆ เพราะเวลาเดินอยู่ตลอดครับ ทำให้ไม่ได้ค่าซ้ำ

เพิ่มเติมให้นิดนึงนะครับ
ผมว่าจะเขียนโปรแกรมให้เป็นต้องอ่าน help ให้เป็นก่อนครับ (help หรือบางทีก็เรียกว่า function reference ) เท่าที่ผมดูจากคำถามนะครับ ผมเข้าใจว่าไม่รู้เลยว่าฟังก์ชั่นที่เรียกใช้
1. ทำงานอะไร
2. รับ parameter เป็นอะไร
3. return ค่าอะไรออกมา

ก่อนจะลงมีเขียน หรืออ่าน code ควรเข้าใจตรงนี้ก่อนครับ มันเป็นพื้นฐานที่สำคัญ

ยกตัวอย่างนะ สมมติว่าผมไม่รู้ว่า srand() คืออะไร ผมก็ลองไป search จาก c function reference ได้

srand()
Prototype: void srand(unsigned int seed);
Header File: stdlib.h (C) or cstdlib (C++)
Explanation: Srand will seed the random number generator to prevent random numbers from being the same every time the program is executed and to allow more pseudorandomness.

ความหมายนะครับ
prototype: คือรูปแบบการใช้งาน ว่ารับ parameter อะไร และ return ค่าอะไร ในที่นี่ รับ integer และไม่ return ค่าใด ๆ ออกมา ถ้ายังไม่เข้าใจให้ไปอ่านเรื่อง prototype เพิ่มเติมนะครับ ว่า parameter และ return คืออะไร มีอะไรได้บ้าง
header file: คือถ้าเวลาเราต้องการจะใช้งาน function นี้เราจำเป็นต้อง include อะไรเข้ามาบ้าง (ใส่ไว้ตัวหัว file นั่นแหละ) ซึ่งจะแตกต่างกันขึ้นอยู่กับ compiler แนะนำว่าให้อิงตามมาตราฐาน คือ ANSI C นะครับ ส่วนใหญ่ถ้าเขียนตาม ANSI C จะ compile ได้กับ compiler ทุกตัว
explanation: ก็ตัวใครตัวมันล่ะครับ แล้วแต่ function


โชคดีนะครับ   :53:

Earthchie

 :38:
อ้างคำพูดจาก: WuTtY เมื่อ 14 ส.ค. 2008, 16:58 น.
srand(time()) คือการเปลี่ยนตำแหน่งของ rand() อยู่แล้วครับ
เพราะทุกครั้งที่เราใช้ time() มันจะได้ค่าเป็นตัวเลขใหม่ ๆ มาเรื่อง ๆ เพราะเวลาเดินอยู่ตลอดครับ ทำให้ไม่ได้ค่าซ้ำ

เพิ่มเติมให้นิดนึงนะครับ
ผมว่าจะเขียนโปรแกรมให้เป็นต้องอ่าน help ให้เป็นก่อนครับ (help หรือบางทีก็เรียกว่า function reference ) เท่าที่ผมดูจากคำถามนะครับ ผมเข้าใจว่าไม่รู้เลยว่าฟังก์ชั่นที่เรียกใช้
1. ทำงานอะไร
2. รับ parameter เป็นอะไร
3. return ค่าอะไรออกมา

:46:  ถูกเผงเลยครับ สงสัยต้องรื้อความรู้ใหม่หมด  :07:

ผมซื้อหนังสือมาเล่มนึง ก็ไม่มีบอก สงสัยต้องหาที่มันบะเอียดหน่อยละ

ป.ล. มี ANSI C อยู่เล่มนึง เป็นภาษาปะกิต แต่อ่านแทบไม่รู้เรื่อง  :05:

แบบนี้ครับ http://www.chulabook.com/cgi-bin/main/2007/description.asp?barcode=9781418835569

ไม่รู้ดีหรือเปล่า แต่อ่านแทบไม่รู้เรื่อง :43: :44:
ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

กากก่อเกรียนนู้บ

Help (ใน Turbo C ใช้ว่า Index) ของ C ถือว่ารายละเอียดเยอะใช้ได้ครับ
ผมก็อุดหนุนในนั้นบ่อยๆ

ว่าแต่เรื่อง return ค่าจากฟังก์ชั่นนี่ เก็ตหรือยังครับ

Earthchie

อ๋อๆ เก็ตแล้วครับ  :46:
ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

กากก่อเกรียนนู้บ

 :42: คร้าบผม ว่าแต่เอิร์ทเรียนอยู่ที่ไหนนะครับ

Earthchie

วิทยาลัยศิลปะ สื่อ และเทคโนโลยี สาขาวิศวกรรมซอฟต์แวร์ มหาลัยเชียงใหม่ครับ

ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

กากก่อเกรียนนู้บ

 :52: ใกล้กันเลย ถ้าเจอมีน ปี 3 ก็ไปถามก็ได้นะ
เพราะมันก็เรียน SE เหมือนกัน น่าจะแนะนำให้ได้ครับ

Earthchie

ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

Earthchie

#56
ขอถามการบ้านครับ

ถ้าเรารับค่าตัวเลข 0-127 มา

แล้วเราใช้คำสั่งอะไรในการแปลงเลขนั้นๆ ไปเป็นอักษร ตามรหัสแอสกีครับ  :46:


ได้แล้วครับ
แค่รับเลข 0-127 มาเป็น integer

แต่เวลาแสดงผล ใช้ %c แทน %d ได้เลยแฮะ  :08:

ลองดู ฟลุ๊คได้ด้วยเฮ้ย  :07:




ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

กากก่อเกรียนนู้บ

 :08: เล่นเอง ชงเองเสร็จเลยแฮะ

กำลังจะมาบอกเหมือนกันว่า char มันรับได้ 2 อย่างน่ะครับ
คือตัวอักษร กับหมายเลขอักษร

เอ้อ ได้พอดีเลย เจ๋งมาก  :12:


ป.ล. ใกล้สอบ จะให้ติวก็บอกนะครับ จัดให้ (แต่คงแค่ในระดับพอใช้งานได้ ไม่ลึกมาก เท่าลุงซันครับ - -")

Earthchie

ชื่อ Earth ครับ เรียกเอิดก็ได้ | Earthchie's Blog

narii

ใช้ Quincy หรือไม่ก็ C-Free ดูค่ะ
whatever will be will be

SMF 2.1.7 © 2026, Simple Machines