วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

การบ้าน stdio.h และiostream.h

การเขียนโปรแกรม stdio.h



#include

void main()

{

c

การบ้าน stdio.h และiostream.h

การเขียนโปรแกรม stdio.h

#include
void main()
{
char name [10];
int age [5];
float high;
float weight;
int Tel[11];

printf("my rueme\n\n");
printf("name:");
scanf("%s",&name);
printf("age:");
scanf("%d",&age);
printf("high:");
scanf("%f",&high);
printf("weight:");
scanf("%f",&weight);
printf("Tel:");
scanf(%d",&Tel);
}



การเขียนโปรแกรม iostream.h

#include
void main()
{
char name [10];
int age[5];
float high;
float weight;
int Tel[11];

การบ้าน stdio.h และiostream.h

การเขียนโปรแกรม stdio.h



#include

void main()

{

char name [10]

วันพุธที่ 22 กรกฎาคม พ.ศ. 2552

DTS05-22-07-2552

สแตค (Stack)
สแตคเป็นโครงสร้างข้อมูลที่มีลักษณะแบบลำดับ (sequential) คือ การกระทำกับข้อมูลจะกระทำที่ปลายข้างเดียวกันที่ส่วนปลายสุดของสแตค
ข้อมูลของสแตคประกอบไปด้วย
การนำเข้าข้อมูลเข้า (PUSH) ที่ส่วนบนสุดของสแตค
การนำข้อมูลออก (POP) ที่ส่วนบนสุดของสแตคเช่นกัน

การจะ Push ข้อมูลเข้าก็ต้องตรวจสอบด้วยว่าข้อมูลในสแตคเต็มหรือไม่ หากสแตคเต็มก็จะไม่สามารถ Push หรือนำข้อมูลเข้าได้ เช่นเดียวกับการ Pop ข้อมูลออกก็ต้องตรวจสอบด้วยว่ามีข้อมูลอยู่ในสแตคหรือไม่ หากไม่มีข้อมูลอยู่ในสแตคหรือสแตคว่าง (empty stack) ก็ไม่สามารถ pop ได้การนำข้อมูลเข้า-ออก จากสแตค (push , pop) จะมีลักษณะแบบเข้าหลัง ออกก่อน (LIFO : Last In , First Out) คือ ข้อมูลที่เข้าไปในสแตคลำดับหลังสุด จะถูกนำข้อมูลออกจากสแตคเป็นลำดับแรก

การใช้สแตกในชีวิตประจำวัน
การใช้ดินสอกด
-เราต้องนำไส้ดินสอสอดเข้าไปก่อนเวลาเราใช้เราก็กดดังนั้นจึงเป็นการเข้าก่อนออกทีหลัง

การเล่นเกมส์กดห่วง
-การเล่นเกมส์กดของห่วงเราต้องโยนห่วงอันแรกเข้าไปแล้วก็ตามจนหมดห่วงของเกมส์เมื่อเราจะเริ่มเล่นเกมส์ใหม่เราก็เอาอันที่หลังออกก่อนห่วงอันแรกจึงออกทีหลัง


วันอาทิตย์ที่ 19 กรกฎาคม พ.ศ. 2552

DTS04-15/07/2552

Linked List
Linked Listเป็นการจัดเก็บชุดข้อมูลมีพอยเตอร์เป็นตัวเชื่อมโยงต่อเนื่องกันไปตามลำดับซึ่งในลิงค์ลิสต์จะประกอบไปด้วยข้อมูลที่เรียกว่าโหนด (Node)
ในหนึ่งโหนดจะประกอบด้วย
1.ส่วนของข้อมูลที่ต้องการจัดเก็บ เรียกว่าส่วน (Data)
2.ส่วนที่เป็นพอยน์เตอร์ที่ชี้ไปยังโหนดถัดไป (Link) หรือชี้ไปยังโหนดอื่นๆที่อยู่ในลิสต์**หากโหนดแรกไม่มีข้อมูลหรือไม่มีข้อมูลในโหนดที่อยู่ถัดไป ส่วนที่เป็นพอยน์เตอร์หรือ Link จะเก็บค่า NULL เขียนแทนด้วยเครื่องหมาย กากบาท
โครงสร้างข้อมูลแบบลิงค์ลิสต์ประกอบด้วย 2 ส่วน
1.Head Structure แบ่งเป็น 3ส่วน-count เป็นการนับจำนวนข้อมูลที่มีอยู่ในลิสต์นั้น-pos พอยเตอร์ที่ชี้ไปยังโหนดที่เข้าถึง-head พอยเตอร์ที่ชี้ไปยังโหนดแรกของลิสต์
2.Data Node Structure จะประกอบด้วย ข้อมูลและพอยเตอร์ที่ชี้ไปโหนดถัดไปการเพิ่มข้อมูลลงไปในลิงค์ลิสต์นั้น จากที่ Head Structure ในส่วนของ count จะมีค่าเป็น 0 นั้นหมายถึงในลิสต์นั้นยังไม่มีข้อมูลใดเลย ส่วน head จะมีเครื่องหมายกากบาท นั้นหมายถึงในลิสต์นั้นไม่มีการเชื่อมโยงไปยังข้อมูลแรก แต่ถ้าต้องการเพิ่มข้อมูลลงไปในลิสต์ Data Node ในส่วนของข้อมูล (Data)จะมีค่าเก็บอยู่ แล้ว count ก็จะเปลี่ยนค่าจาก 0 เป็น 1 คือ การบ่งบอกถึงจำนวนข้อมูลที่มีอยู่ในลิสต์นั้น แล้ว head ก็จะชี้ไปยังข้อมูล (Data) ตัวแรกของลิสต์ ส่วนพอยเตอร์ที่ชี้ไปโหนดถัดไปจะเป็นเครื่องหมายกากบาทแทนการลบข้อมูลในลิงค์ลิสต์ ถ้าต้องการลบข้อมูลตัวใดในลิสต์สามารถลบได้เลย แต่ต้องเปลี่ยน head เพื่อชี้ไปยังข้อมูลตัวแรกของลิสต์กรณีที่ลบข้อมูลตัวแรกออก แล้ว link คือ เมื่อลบข้อมูลตัวใดออกควรชี้ link ถัดไปให้ถูกต้องด้วย

วันจันทร์ที่ 13 กรกฎาคม พ.ศ. 2552

DTS03-01/07/2552

สรุปเนื้อหาบทเรียน "Data Structure"
สรุปบทเรียน Pointer , Set and String

Pointer

pointer คือตัวแปรที่จะทำหน้าที่ชี้ที่อยู่ในหน่วยความจำ (Address) ของตัวแปรอื่นๆ เราสามารถใช้ ตัวแปร Pointer เพื่อการเข้าถึงข้อมูลที่รวดเร็ว

การประกาศตัวแปร Pointertype *variable-name;type คือชนิดของตัวแปรที่จะประกาศเช่น int,float,char* คือเครื่องหมายที่แสดงให้รู้ว่าตัวแปรหลังดอกจันคือตัวแปร Pointervariable-name คือชื่อตัวแปรที่จะสร้างขึ้น ทั้งนี้จะต้องไม่เป็นคำสงวนของภาษาซี

ข้อสังเกตุเกี่ยวกับตัวแปร Pointer (ประเภท int)- การใช้งานตัวแปร pointer มีได้ 2 แบบดังนี้
*pt_age จะหมายถึงการนำค่าของ pt_age ออกมาแสดง

pt_age จะหมายถึงการนำตำแหน่งหน่วยความจำของ pt_age มาแสดง

โครงสร้างข้อมูลแบบ String
string หมายถึงอักขระที่มีความยาวมากกว่า 1 ตัวแรงต่อกันเป็นข้อความ โดยข้อมูลชนิดขด้อความต้องเขียนอยู่ภายในเครื่องหมาย " " (Double quote)
หรือพูดง่าย ๆ ก็คือ String เป็น Array ของ อักขระนั่นเอง ตัวอย่างเช่น
char name[20];
หมายถึง string ที่เก็บข้อความได้ 19 ตัวอักษร ตามปกติแล้วจุดสิ้นสุดของ string จะเป็น \0


มีฟังก์ชั่นที่เกี่ยวข้องกับ String ดังนี้
getchar(); // ใช้สำหรับรับข้อมูลชนิดอักขระเข้ามาจากคีย์บอร์ด โดยรับครั้งละ 1 อักขระเท่านั้น
gets(); // จะใช้รับข้อมูลชนิดข้อความเข้ามาทางคีย์บอร์ด
putchar(); // คือการแสดงผลอักขระออกทางหน้าจอ
puts(); // ใช้ในการแสดงข้อความออกจากหน้าจอ


โครงสร้างข้อมูลแบบเซต (set)
เป็นโครงสร้างที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กันเลย