เรื่อง DEV C++

เริ่มโพสต์โดย MaxMania, 24 พ.ย. 2009, 11:54 น.

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

MaxMania

รบกวนถามเรื่อง DEV C++ หน่อยคะ
เกี่ยวกับการรับค่า String มาแล้ว Out put โดยนำค่าย้อนกลับจากด้านหลังมาก่อน

ตัวอย่าง
Input : abc
Output : cba

ที่ลองเขียนขั้นตอนยังไม่ทราบฟังก์ชั่นการกลับค่าตามนี้คะ

#include <stdio.h>
#include <conio.h>

main()

{
char AA[50] ;

    printf("Input : ");

    scanf("%s",AA);

    printf("\nOutput : %s ",AA);
   
}



ขอบคุณมากเลยนะคะ  :33:
ก้านบัว..บอกตื้นลึกชลธาร มารยาท..ส่อสันดานชาติเชื้อ

JΛNΣ

สร้าง array ใหม่ BB[50]
แล้ววนลูปไล่เอาตัวอักษรจาก AA[50] ไปใส่ใน BB[50] แบบย้อนกลับทีละตัว
AA[1] --> BB[50]
AA[2] --> BB[49]
...
...


ลองประยุกต์เขียนเป็นโค๊ดดูครับ

เพิ่งหัดเขียนโปรแกรม ถ้าไม่จำเป็น อย่าไปใช้ฟังก์ชั่นสำเร็จเลยครับ พื้นฐานจะได้แน่นๆ  :22:

Romzaikyu

บวกให้ไอ้เฒ่าแทนน้องเค้า  :25:

ถึงตูจะไม่รู้เรื่องว่าพูดกันภาษาอะไร  :30:

MaxMania

ขอบคุณ คุณ JanΣ มากนะคะที่ชี้แนวทาง
แต่ยังศึกษาไม่ถึง Array เลยคร่าาาาาา คุณ JanΣ   :44: :44:
เพิ่งเริ่มศึกษามา  อาจารย์ก็ให้การบ้านข้อนี้หินมากเลยคะพยายามมาตั้งแต่เมื่อวานแล้วคะ  :32:
ก้านบัว..บอกตื้นลึกชลธาร มารยาท..ส่อสันดานชาติเชื้อ

Earthchie

อะเรย์ จะเป็นตัวแปรหลายๆตัว เรียงยาวๆ เหมือนขบวนรถไฟครับ แต่ละโบกี้ ก็จะมีผู้โดยสาร 1 คน

เช่น ถ้าให้ รถไฟคันนี้มี 10 โบกี้ แต่ละโบกี้เก็บค่า 1,2,3,...,10 เราก็ประกาศแบบนี้

int a[10]={1,2,3,4,5,6,7,8,9,10};

ในที่นี้เหมือนเราได้ประกาศตัวแปรไว้ 10 ตัว แต่เหลือสั้นๆแค่นี้ สะดวกมั๊ยครับ ^^

ตอนนี้ตัวแปรทั้ง 10 ตัวจะอยู่ในตัวแปรอะเรย์แบบนี้นะครับ

a[0] = 1
a[1] = 2
a[2] = 3
.
.
.
a[9] = 10

จะเห็นได้ว่า ไม่มี a[10] นะครับ เพราะเราเริ่มนับจาก 0

เช่น int  b[15]; ก็มี b[0],b[1],b[2],b[3] ไปจนถึงแค่ b[14] เท่านั้น

เอาอีกซักตัวอย่าง

int c[50]; ก็มีแค่ c[0],c[1],c[2],....,c[49] เท่านั้น

แบบนี้เข้าใจมั๊ยครับ

----------

เสร็จแล้ว array มันยังมีความพิเศษอีกหนึ่งอย่าง สมมุติจากตัวอย่างเดิมนะครับ

int a[10]={1,2,3,4,5,6,7,8,9,10};

แล้วเราประกาศตัวแปรเพิ่ม

int i=5;

จากนั้นเราก็ทำแบบนี้

int b = a[ i ];

เมื่อเราลองปรินท์ค่า b ดู จะพบว่า b=6     ..... เอ๊ะ มายังไงหว่า

การที่เราเขียน a[ i ] โดยที่ i=5 ก็เหมือนกับเราอ้างอิงถึง a[5] ซึ่งมีค่าเท่ากับ 6 นั่นแล่ะครับ

แล้วถ้าเราทำแบบนี้ต่อล่ะ

int j=3;
int c=a[j];

แล้วปรินท์ค่า c ออกมาดู เราจะได้เท่าไหร่?

ใช่ครับ เราจะได้ c=4 เพราะ a[j] = a[3] = 4 ยังไงล่ะ ^^

---------------------

ใบ้สุดๆ เอาตัวอย่างนี้ไปดู ^^

int num[10] = {1,2,3,4,5,6,7,8,9,10};
    for(int i=9;i>=0;i--)
         {
              printf("%d",a[ i ]);
          }





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

NooKSTYLE


REROYD


JΛNΣ

วน strlen  รอบ



ใบ้กันเข้าไป  :30:

NooKSTYLE

printf("Before Swaping");

printf(" A B C _ _ _ _ _ _ _ ");

printf("After Swaping");

printf(" _ _ _ _ _ _ _ C B A ");

:47: โกง

JΛNΣ

เค้าให้พิมพ์อินพุตเข้าไปเอง  :07:

NooKSTYLE


ต้น

void function(char *s)
{
 if(*s)  
   function(s+1);  
 else
   return;

 cout << *s;
}

NooKSTYLE

พี่ต้นครับ :05:/ ผมงง

VeryHappy

ภาษาต่างดาวชัดๆ  :48:

Ah!

แปลให้ๆ



void function(char *s)
ว่างเปล่า ประโยชน์ใช้สอย คา คูณ สอ


{
  if(*s) 
ถ้า คูณ สอ



    function(s+1);
    ประโยชน์ใช้สอยนั้น สอเพิ่มหนึ่ง 

  else
มิฉะนั้นก็


    return;
กลับไปเถิด

  cout << *s;
(อันนี้น่าจะพิมพ์ตกเอ็นไปตัวนึง จาก cout เป็น count)
นับ นับสิ นับ คูณ สอ

}




ง่ายๆไม่่เห็นจะยาก  :52:
        AH_LuGDeK, AH_LuGDeK_R

SMF 2.1.7 © 2026, Simple Machines