code palindrome c & c++

จากที่สอนน้องปีหนึ่งมาเยอะ วันนี้มาแล้วจ้า โค้ดพาลินโดรม
ใช้ได้ทั้งใน c และ c++มี ๒ แบบให้เลือกสรร

วิธีที่ ๑.   – copy ตัวแปร str1 ไว้ในตัวแปร str2           
               – เอาตัวแปร str2 มากลับคำ           
               – แล้วนำ str1 และ str2 
                     strcpy(str2,str1);              
                     strrev(str2);               
                     c = strcmp(str1,str2);
             
                     if  (c = 0)  cout<<”yes palindrome” ;
หาก str1 = str2  ฟังก์ชัน strcmp จะคืนค่าศูนย์ มาให้

วิธีที่ ๒ วนลูป for เช็คตัวอักษรทีละตัว                                     

              ok=1;            
              for(i=0;i<strlen(str);i++)                
              if (str(i)!=str(strlen(str)-1-i)) ok = 0;              
              if(ok==1)  cout<< “yes palindrome”;
              

              เช็คว่ามีตัวที่ไม่ตรงกันเมื่อไหร่จะไม่ใช่พาลินโดรม

ตรงประกาศตัวแปร prototype ไม่ได้บอกไว้เพราะคิดว่า
น่าจะทำกันได้ไม่ยาก  จริงๆพาลินโดรมมีวิธีคิดหลากหลายกว่านี้นะ

9 Responses so far »

  1. 1

    batt said,

    พี่ๆช่วยสอนเรื่องแพลินโดรมตัวเลขหน่อยดิ่ว่าสูตรมันมีไรบ้าง
    คือว่าอยากเขียนเป็นมากเลย นี่ถ้าทำได้ กะว่าจะไปทำปิรามิดด้วย
    แต่ตอนนี้ยังทำไม่ได้เลย ช่วยหน่อยดิ่ พี่จะฝากเบอร์โทรศัพท์ไว้ที่อีเมล์หนูก็ได้นะ
    kinnaree_java@hotmail.com ค่ะ ช่วยด้วย
    คือว่า หนูก็ทำได้บางส่วนแล้ว แต่ว่าสูตรมันยังทำไม่ได้เลย ขอสูตรวิธีการคิดหน่อย
    เช่น 37 อย่างเนี้ย ให้กลับเป็น 73 แล้วมาบวกกับ 37 วนลูปไปเรื่อยๆจนกว่าจะเป็น พาลินโดรม
    คือ ที่หนูใช้ลูปมันเป็น while หน่ะ ช่วยหน่อยนะค่ะ ถ้าหากว่าพี่ จะโทรมาก็ได้ ที่เบอร์ 0868211479
    ช่วยหน่อยนะค้ะ อยากรู้จิงๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ

  2. 2

    B said,

    ไม่เข้าใจโจทย์อ่ะมันดูวนๆ วานพี่ช่วยทีนะจ๊ะ..

    จงเขียนโปรแกรมที่ใช้ทดสอบว่าสายอักขระนั้นเป็น Palindrome โดยใช้ StackfromArray โดยการ push ตัวอักขระลง stack ทีละตัว เมื่อบรรลุถึงจุดจบของสายอักขระ สามารถ pop ตัวอักขระและสร้างสายอัขระขึ้นมาใหม่

    ***หมายเหตุ Palindrome จะละเว้นตัวอักขระที่เป็น ช่องว่าง เครื่องหมายเว้นวรรคตอน และ ตัวอักษรพิมพ์ใหญ่

    ให้ทดสอบโดยการป้อน input data ที่ นศ. คิดขึ้นมาเอง 3 ประโยค โดยทั้ง 3 ประโยคที่ใช้ทดสอบต้องเป็นประโยคที่ใช่ Palindrome

    • 3

      br said,

      มันก็โอเคนะ ที่พี่คิดคือ
      1.รับประโยคเข้ามา
      2.กำจัดสิ่งที่ไม่ต้องการออกไป พวกช่องว่าง บลาๆ
      3.push ลง stack
      4.เช็คโดยการ pop ออก

      อันนี้พี่คิดเองนะ มันอาจไม่ดีที่สุด 55+ ยังไงก็ทิ้งเมลล์ไว้ก็ได้นะ

  3. 5

    meaw said,

    พี่คร้า

    นู๋ก็ได้โจทย์มาเหมือน “Bกล่าว”อ่ะค่ะ

    พี่ช่วยส่งเมล์ให้นู๋ด้วยได้มั้ยค่ะ

    ช่วยหน่อยนะค่ะ

    อ.ให้ส่งวันที่22นี่แล้วอ่ะค่ะ

    แย่มากมายเลยทำไม่เป็น

    • 6

      br said,

      จะบอกว่า ไม่อยาก code ให้ใครอ่า แนะนำให้ดีกว่ามั้ย แต่ก็ไม่ได้เก่งกาจอะไรมากนะ

      ส่งวันที่ 22 น้องมีเวลาอีกเยอะเลยจ้า ลองหาเรื่องเกี่ยวกับ stack มาอ่านนะ

      ภาษา c++ ใช่มั้ย สู้ๆนะ หรือลองส่งโค้ดของน้องมาพี่จะลองช่วย

      อยากให้ลองเขียนเองดูก่อนอ่ะนะ

  4. 7

    meaw said,

    ลืมบอกต้องใช้โปรแกรมc++นะค่ะ

  5. 8

    o said,

    มีเรืองถามคับ amote_kohmet@hotmail.com ฝากแอดด้วยนะคับ

  6. 9

    oyao said,

    มีเรื่องต้องการทราบ รบกวนพี่แอดเมลนี้ด้วยนะคะ
    mickey_knew@hotmail.com


Comment RSS · TrackBack URI

Say your words