Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Re: รบกวนเรื่อง C++ อีกทีครับ

  1. #1
    KYO_IN_KMITNB
    Guest


    รบกวนเรื่อง C++ อีกทีครับ

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

  2. #2
    Junior Member
    Join Date
    Jan 2004
    Location
    Thailand
    Posts
    0


    Re: รบกวนเรื่อง C++ อีกทีครับ

    ถ้าเปงผมจะใช้ array chk array

    หิหิ

    ตอนแรกกะใช้การเทียบตัวที่ถูกก่อน โดยการวรลูปเอา
    ตอนที่ 2 กะวนลูป chk ตำแน่งเอา

    ใช้ if ไว้ข้างใน กะจบอะฮะ ในลูป

    พะเจ้า

    ป.ล.ผมเขียน c ไม่เป้นคับ เพราะเรียนตั้งนานแย้ว ลืมละ (เข้ามหาลัยต้องใช้ ต้องตีรถด่วนอีก)

  3. #3
    Senior Member
    Join Date
    Jul 2004
    Location
    Bangkok
    Posts
    187


    Re: รบกวนเรื่อง C++ อีกทีครับ

    ก็ chk ตำแหน่งก่อนว่าตรงหรือเปล่า จากนั้นค่อย chk ตัวเลขว่ามีหรือเปล่า โดยตัวเลขที่ chk นั้นต้องมีตำแหน่งไม่ตรง ไม่ยากหรอก

  4. #4
    Junior Member
    Join Date
    Jan 2004
    Location
    Thailand
    Posts
    0


    Re: รบกวนเรื่อง C++ อีกทีครับ

    แถมอีกสักนิด (ถ้าผิด กะไม่รูนะครับ และคิดว่าใชจิงอาจะมีบัก ช่วยตัวเองต่อนะครับ)

    arrgame=(1,2,3,4);
    arrin=(4,5,6,7); // เจ้านี่คือตัวเที่คนป้อนเข้าไปที่หลังนะครับ

    for(i=0;i<4;i++){
    for(j=0;j<4;j++){
    if(arrgame[i]==arrin[j]){
    chkanswer++;
    }
    }
    }

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


    for(i=0;i<4;i++){
    if(arrgame[i]==arrin[i]){
    chkanswer++;
    }
    }

    นี่คือการ chk ตำแหน่งไงครับ คิดว่าคงไม่มีอะไรผิดพลาด มั่งนะ หิหิ เพราะคิดว่าไม่น่าจะมีเหตุการณ์อื่นที่จะทำให้มันพลาดได้

    แล้วก็ การ chk ว่าเราชนะหรือยัง ก็ chk ค่าตัวแปรเอาละกันคระบ ว่าได้ 4 ทั้ง 2 อันอะยาง

    ผมไม่เคยทำเกมประเภทนี้นะครับ แต่คิว่าคงทำประมาณนี้

    ผิดถูกขออถัยครับ

  5. #5
    KYO_IN_KMITNB
    Guest


    Re: รบกวนเรื่อง C++ อีกทีครับ

    ได้แค่นี้ก็ขอบคุณมากแล้วครับ ^^

  6. #6
    KYO_IN_KMITNB
    Guest


    Re: รบกวนเรื่อง C++ อีกทีครับ

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

  7. #7
    Administrator asylu3's Avatar
    Join Date
    Jun 2000
    Location
    Thailand
    Posts
    3,557


    Re: รบกวนเรื่อง C++ อีกทีครับ

    พอจะเขียนโค้ดให้ดูเลยได้ไหมครับ
    ไม่สนับสนุนให้ post srccode ทำการบ้านนะครับ หากแลกเปลี่ยนความคิดและหลักการธรรมดาไม่มีปัญหา ผมเข้าใจว่าคุณอาจจะยังใหม่สำหรับการเขียนโปรแกรม แต่อย่างน้อยหากเราไม่รู้แล้วก็พยายามศึกษาหน่อยต่อไปก็ได้เขียนได้เอง ถ้าเทียบกับเอา code ไปเลยมีจะเป็นดาบสองคมนะครับ

  8. #8
    KYO_IN_KMITNB
    Guest


    Re: รบกวนเรื่อง C++ อีกทีครับ

    ผมต้องขอโทษพวกพี่ ๆ ด้วยนะครับที่แสดงความไม่มีสมองของตัวเองออกมา พอดีงานมันเร่งอะครับแล้วผมยังทำไม่เสร็จซักที วันนี้เลยเอา code ไปให้อาจารย์ปรากฎว่าผิดเพียบเลยอ่ะครับ งั้นผมให้พี่ ๆ สอนผมหน่อยนะครับ ที่ผมอยากรู้คือ
    1. การเปรียบเทียบอาร์เรย์สองอาร์เรย์เนี่ยผมจะทำวิธีไหนได้บ้างครับ
    2. ค่าพารามีเตอร์ที่อยู่ใน () ของฟังค์ชั่นนี่มันคืออะไรครับ สมมตินะครับ int G(); แบบเนี่ยอ่ะครับ
    3. หลักการของการเช็คตัวเลขและแถวในเกมนี้เนี่ยพี่ ๆ ช่วยใบ้ให้หน่อยได้ไหมครับ เพราะอาจารย์บอกผมว่า ที่ผมทำไป มันหลักการเดียวกันมันไม่ได้อ่ะครับ
    พี่ๆ ช่วยแนะนำด้วยนะครับ

  9. #9
    Senior Member newsbot's Avatar
    Join Date
    Sep 2002
    Location
    Thailand
    Posts
    3,766


    Re: รบกวนเรื่อง C++ อีกทีครับ

    It not exactly you want, however you can adapt the concept.
    Good luck.
    [src]
    #include < iostream.h >


    int ans[4]={1,2,3,4};
    int exact_count=0;
    int samepos_count=0;

    void IsGot(int val, int pos)
    {


    for(int i=0; i<4;i++)
    {

    if(ans[i]==val)
    {

    exact_count++;

    if(pos==i) samepos_count++;

    }
    }



    }



    int main(){

    int guess[4]={1,4,2,6};

    for(int i=0;i<4;i++){

    IsGot(guess[i],i);
    }

    cout<<"Total same value:"<<exact_count<<endl;
    cout<<"Total same position:"<<samepos_count<<endl;

    }

    [/src]
    clone 'em all

  10. #10
    KYO_IN_KMITNB
    Guest


    Re: รบกวนเรื่อง C++ อีกทีครับ

    หลังจากที่ผมได้ทำตามคำแนะนำของพี่ ๆ แล้วเลยอยากให้พี่ ๆ แนะนำ ครับว่า code ของผมมีจุดที่ต้องแก้ตรงไหนบ้าง

    #include<iostream>
    #include<conio.h>
    #include<string>

    using namespace std;
    void chekvalue(int val);
    void chekposition(int pos);

    int main(){
    int Game[4]={1,2,3,4};
    int A[4];
    int i,j;
    int val,pos;
    cout<<"Plase Input Value = ";
    cin>>A[0]>>A[1]>>A[2]>>A[3];
    chekvalue(val);
    chekposition(pos);
    cout<<"Total value = "<<val<<endl;
    cout<<"Total position = "<<pos<<endl;
    }
    void chekvalue(int val){
    int Game[4]={1,2,3,4};
    int A[4];
    int i,j;
    for(i=0;i<4;i++){
    for(j=0;j<4;j++){
    if(Game[i]==A[j]){
    j++;
    val=j;

    }
    }
    }
    }
    void chekposition(int pos){
    int Game[4]={1,2,3,4};
    int A[4];
    int i;
    for(i=0;i<4;i++){
    if(Game[4]==A[i]){
    i++;
    pos=i;

    }
    }
    }
    ผมรันออกมาแล้วได้
    Please Input Value 1 2 3 4 // อันนี้ผมใส่ค่าเข้าไปเก็บในอาร์เรย์ A[4];
    Total value = -858993460
    Total position = -858993460

    รันครั้งที่สองครับ
    Please Input Value 4 5 8 6 // อันนี้ผมใส่ค่าเข้าไปเก็บในอาร์เรย์ A[4];
    Total value = -858993460
    Total position = -858993460

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

Page 1 of 2 12 LastLast

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Members who have read this thread: 0

There are no members to list at the moment.

Tags for this Thread

Posting Permissions

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