overclockzonefanpage  overclockzoneth  TV  RSS  


Page 1 of 2 12 LastLast
Results 1 to 20 of 21

Thread: รบกวนคนเป็นภาษา C หน่อยครับ ด่วยนะ

  1. #1
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default รบกวนคนเป็นภาษา C หน่อยครับ ด่วยนะ

    คือผมเบลอหมดแล้วครับ ผมมึนจริงๆ แต่งานต้องเสร็จครับ ตอนนี้คิดไม่ออกแล้วช่วยหน่อยครับ

    ให้นิสิตเขียนโปรแกรมภาษาซีรับข้อมูลใส่ลงใน array ขนาด 5 ช่อง จากนั้นพิมพ์ค่าเฉลี่ย ค่าสูงสุด ค่าต่ำสุด ของ array ชุดนี้

    อันนี้ที่โจทย์ต้องการ

    Please input : 7 28 -11 15 4

    Average = 8.6

    Max = 28

    Min = -11


    แต่เมื่อผมรันโปรแกรมของผมแล้วมันออกมาแบบนี้

    Please input : 7 28 -11 15 4

    Average = 8.6

    Max = 28

    Min = -11

    SUM = 2009291967 ไรประมาณนี้ ด้านล่างเปงcode ที่ผมเขียนครับ งงๆอ่ะ


    #include<stdio.h>
    int main()
    {
    int num[5],max,min,i,sum;
    float avg;
    for (i=0;i<5;i++)
    {
    printf("Please input number %d : ",i+1);
    scanf("%d",&num[i]);

    }
    max = num[0];
    min = num[0];
    for(i=0;i<5;i++)
    {
    if (num[i]>max)
    max = num[i];
    else if(num[i]<min)
    min = num[i];
    sum = sum+num[i];
    }

    printf("\n\nMAX = %d\n\n",max);
    printf("MIN = %d\n\n",min);
    printf("\n\nSUM = %d \n\n",sum);
    printf("Average = %d\n\n",avg);
    system("pause");
    }


    ช่วยดูหน่อยว่ามันผิดตรงไหน แล้วต้องทำไรตงไหนบ้าง

  2. #2
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    อีกข้อนึงครับ ช่วยหน่อย

    ให้นิสิตเขียนโปรแกรมภาษาซีรับข้อมูลใส่ลงใน array ขนาด 5 ช่อง จากนั้นพิมพ์ค่าจากมากไปน้อย และ น้อยไปมาก ของ array ชุดนี้

    Please input : 7 28 -11 15 4

    Order from min to max = -11 4 7 15 28

    Order from max to min = 28 15 7 4 -11

    ข้อนี้ผมเขียนออกมาได้แค่นี้แล้วก็มึนแล้วครับ คือปกติจะคิดได้มากกว่านี้ แต่ตอนนี้มันเบลอครับ ง่วงมาก

    #include<stdio.h>
    int main()
    {
    int num[5],a,b,temp;
    printf("Please input : ");
    scanf("%d %d %d %d %d"),&num[0],&num[1],&num[2],&num[3],&num[4];
    for (a=0;a<5;a++)

    {for(b=a+1;b<5;b++)
    {
    if(num[b]<num[a])
    {temp = num[a];
    num[a] = num[b];
    num[b] = temp;
    }


    }


    }



    printf("min to max = %d %d %d %d %d",num[0],num[1],num[2],num[3],num[4]);


    }

  3. #3
    OverclockZone Member mond's Avatar
    Join Date
    24 Oct 2007
    Location
    เมือง,ชุมพร

    Default

    http://www.uploadtoday.com/download/...5150762cf4bcef โปรแกรมเขียนภาษาcในxp ไม่รุ้ช่วยได้อ่ะป่ะ

  4. #4
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    โปรอะไรเหรอครับ ขอบคุณครับ จะลองเปิดดูครับ

  5. #5
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    เอ่อ ผมโลหดไม่ได้ครับ ไม่รู้เปงไร โหดลแล้วขาดท่อนตลอด ช่างมันเหอะครับ ส่งแบบเสร็จ 50 - 60% คงได้คะแนนมาบ้าง ผมพลาดเองครับ

  6. #6
    OverclockZone Member tarhardy's Avatar
    Join Date
    3 Jan 2007
    Location
    เชียงใหม่

    Default

    ใส่ for ลงไปงับ
    เพื่อให้วนรอบ เก็บข้อมูลแต่ละตัวลงใน Arry

  7. #7
    OverclockZone Member iamangels's Avatar
    Join Date
    6 Jan 2008

    Default

    อย่าลืม
    getch();
    }


    ล้อเล่นครับ ผมก็เพิ่งเริ่มเรียนเมื่อวันศุกร์เอง ยังมึนอยู่เลย

  8. #8
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    ขอบคุณทุกคนมากครับ แล้วไอ getch();
    }

    มันคือไรอ่ะคับ

  9. #9
    ผ่านมาเจอ
    Guest

    Thumbs up

    ข้อแรกอ่ะ ต้อง กำหนดค่า sum เป็น 0 ก่อนเริ่มเข้า loop
    ไม่งั้นมันจะเอาค่าเดิมใน memmory ตำแหน่งที่ถูกจองให้ตัวแปร sum มาใช้
    ทำให้มีค่ามั่วๆ

  10. #10
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    Quote Originally Posted by ผ่านมาเจอ View Post
    ข้อแรกอ่ะ ต้อง กำหนดค่า sum เป็น 0 ก่อนเริ่มเข้า loop
    ไม่งั้นมันจะเอาค่าเดิมใน memmory ตำแหน่งที่ถูกจองให้ตัวแปร sum มาใช้
    ทำให้มีค่ามั่วๆ
    ว้าวววว ได้แล้วคร้าบบบบบ ขอบคุณมากๆเลย ถึงแม้จะไม่ทันการ เพระผมส่งงานทั้งๆที่มันผิดไปแล้วครับ แต่อย่างน้อยทำให้ผมเข้าใจเรื่องนี้มากขึ้นเลยครับ ไม่หวั่นข้อสอบ Final แล้วครับ

  11. #11
    OverclockZone Member TaO_OaT's Avatar
    Join Date
    16 Sep 2006
    Location
    แถว ๆ นี้

    Default

    Quote Originally Posted by tonzeero View Post
    อีกข้อนึงครับ ช่วยหน่อย

    ให้นิสิตเขียนโปรแกรมภาษาซีรับข้อมูลใส่ลงใน array ขนาด 5 ช่อง จากนั้นพิมพ์ค่าจากมากไปน้อย และ น้อยไปมาก ของ array ชุดนี้

    Please input : 7 28 -11 15 4

    Order from min to max = -11 4 7 15 28

    Order from max to min = 28 15 7 4 -11

    ข้อนี้ผมเขียนออกมาได้แค่นี้แล้วก็มึนแล้วครับ คือปกติจะคิดได้มากกว่านี้ แต่ตอนนี้มันเบลอครับ ง่วงมาก

    #include<stdio.h>
    int main()
    {
    int num[5],a,b,temp;
    printf("Please input : ");
    scanf("%d %d %d %d %d"),&num[0],&num[1],&num[2],&num[3],&num[4];
    for (a=0;a<5;a++)

    {for(b=a+1;b<5;b++)
    {
    if(num[b]<num[a])
    {temp = num[a];
    num[a] = num[b];
    num[b] = temp;
    }


    }


    }



    printf("min to max = %d %d %d %d %d",num[0],num[1],num[2],num[3],num[4]);


    }
    ท่านเรียนสาขาคอมใช่มะครับ
    ถ้าเอาแบบท่านนะครับ แนะนำให้แก้
    แยก num เป็น num[] เฉย ๆ ไว้เก็บ input
    ประกาศ arry_xxx[] เพิ่มอีก 1 ตัว เอาไว้เก็บค่าที่ประมวลผลจาก num

    ท่านเล่นเอา num[] มาคิดแล้วคิดอีก มันก็ทับเดิมซิครับ ตัวแปร a กับ b เป็นตัวชี้ตำแหน่ง ของ num[] ตัวเดียวกันซะงั้น แก้ตรงนี้ด้วยนะครับ

    อยากให้คิดเองนะครับ เพราะยิ่งเรียน ยิ่งยาก ถ้าติดตรงพื้นฐานตรงนี้ละก็ วิชาโครงสร้างข้อมูล จะยากมาก ๆ เลย

  12. #12
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    งั้นข้อถามต่อนะครับ

    #include<stdio.h>
    int main()
    {
    int num[5],max,min,i,sum=0;
    float avg;
    for (i=0;i<5;i++)
    {
    printf("Please input number %d : ",i+1);
    scanf("%d",&num[i]);

    }
    max = num[0];
    min = num[0];
    for(i=0;i<5;i++)
    {
    if (num[i]>max)
    max = num[i];
    else if(num[i]<min)
    min = num[i];

    sum = sum+num[i];

    }
    avg = sum/5;
    printf("\n\nMAX = %d\n\n",max);
    printf("MIN = %d\n\n",min);
    printf("\n\nSUM = %d \n\n",sum);
    printf("Average = %d\n\n",avg);
    system("pause");
    }

    ผลที่ออกมาถูกต้องทุกประการครับ แต่ติดอยู่ที่ Average มันยัง = 0 อ่ะครับ
    รูป รูป

  13. #13
    OverclockZone Member TaO_OaT's Avatar
    Join Date
    16 Sep 2006
    Location
    แถว ๆ นี้

    Default

    printf("Average = %d\n\n",avg);
    ใช้ %f ครับ ตัวแปรมันเป็น float

  14. #14
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    Quote Originally Posted by TaO_OaT View Post
    ท่านเรียนสาขาคอมใช่มะครับ
    ถ้าเอาแบบท่านนะครับ แนะนำให้แก้
    แยก num เป็น num[] เฉย ๆ ไว้เก็บ input
    ประกาศ arry_xxx[] เพิ่มอีก 1 ตัว เอาไว้เก็บค่าที่ประมวลผลจาก num

    ท่านเล่นเอา num[] มาคิดแล้วคิดอีก มันก็ทับเดิมซิครับ ตัวแปร a กับ b เป็นตัวชี้ตำแหน่ง ของ num[] ตัวเดียวกันซะงั้น แก้ตรงนี้ด้วยนะครับ

    อยากให้คิดเองนะครับ เพราะยิ่งเรียน ยิ่งยาก ถ้าติดตรงพื้นฐานตรงนี้ละก็ วิชาโครงสร้างข้อมูล จะยากมาก ๆ เลย
    ครับ ขอบคุณที่แนะนำครับ ปกติผมชอบคิดเองครับ พอดีเมื่อคืนมันเบลอจิงๆเลยครับ แล้วก็ผมเรียนวิศวเครื่องกลครับ

  15. #15
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    Quote Originally Posted by TaO_OaT View Post
    ใช้ %f ครับ ตัวแปรมันเป็น float
    เห็นมั้ยครับ ว่าผมมึนจริงๆ เอ๊ะหรือว่าไม่ดูให้ละเอียดกันแน่ ขอบคุณครับ ที่บอก ครับ ได้แล้วครับ

  16. #16
    OverclockZone Member TaO_OaT's Avatar
    Join Date
    16 Sep 2006
    Location
    แถว ๆ นี้

    Default

    โห วิดวะเครื่องกล เรียนภาษา c ด้วยเหรอเนี้ย งั้นก็ไม่ต้องกังวนเรื่อง โครงสร้างข้อมูลแล้วม้าง

  17. #17
    OverclockZone Member tonzeero's Avatar
    Join Date
    24 Mar 2007
    Location
    Sriracha

    Default

    Quote Originally Posted by TaO_OaT View Post
    โห วิดวะเครื่องกล เรียนภาษา c ด้วยเหรอเนี้ย งั้นก็ไม่ต้องกังวนเรื่อง โครงสร้างข้อมูลแล้วม้าง
    ใช่ครับ แต่โชคดีครับที่ไม่มีตัวต่อ พวกวิดวะไฟฟ้า คอม พวกนี้เค้ามีตัวต่อไปอีกหลายตัวเหลือเกิน
    ขอบคุณมากๆครับ พอดีผมไม่ได้ไปเรียนครับเรื่องนี้ มานั่งอ่านตอนเที่ยงคืน แล้วทำแบบฝึกหัด เลยเบลอๆครับ คิดไรไม่ออก ปกติผมจะไม่โง่ขนาดนี้ครับ เหอๆ ว่าแต่คุณๆเรียนไรกันครับ ดูท่าจะมีความรู้เรื่องภาษษcพอสมควรเลย

  18. #18
    OverclockZone Member TaO_OaT's Avatar
    Join Date
    16 Sep 2006
    Location
    แถว ๆ นี้

    Default

    จบคอมแบบผ่าน ๆ + เรียนแบบงี้เง่า ได้ทำแต่งานกิ๊กก๊อก เลยได้แต่ใช้ชีวิตไปวัน ๆ แบบพอผ่าน ๆ อ่าครับ

  19. #19
    OverclockZone Member
    Join Date
    27 Jan 2007

    Default ขอความช่วยเหลือเกี่ยวกับภาษา C ครับผม

    คือ ผมจะเขียน C ให้รับ ค่าจากแป้นพิมพ์ 3 ค่า แล้วก็เอาค่าที่รับมาเนี่ย มาเรียงจากน้อยไปมาก แล้วก็จากมากไปน้อย ครับ ผมติดที่ตรงเรียงอ่ะครับ กรุณาช่วยด้วยเถอะครับ ขอตัวอย่าง โค๊ดครับผม เพราะผมจำ รูปแบบไม่ได้ จะขอบพระคุณมากครับผม

  20. #20
    OverclockZone Member mrphie's Avatar
    Join Date
    14 Mar 2008

    Default

    อยากช่วยคับ แต่ติดที่ว่า ตอนนี้อยู่ที่ทำงานไม่สะดวกคิดให้คับ

    เพราะโจทย์แบบนี้เคยทำแล้ว

    ถ้ารอได้ ก็รอหน่อยน่ะคับ กลับบ้านเด๋วจะดูให้

Page 1 of 2 12 LastLast


Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •